/* * File: HVAC_model.c * * Code generated for Simulink model 'HVAC_model'. * * Model version : 1.1627 * Simulink Coder version : 24.1 (R2024a) 19-Nov-2023 * C/C++ source code generated on : Fri Sep 25 16:15:38 2026 * * Target selection: ert.tlc * Embedded hardware selection: ARM Compatible->ARM Cortex-M * Emulation hardware selection: * Differs from embedded hardware (MATLAB Host) * Code generation objectives: Unspecified * Validation result: Not run */ #include "HVAC_model.h" #include #include #include "HVAC_model_types.h" #include "HVAC_model_private.h" #include #include #include "Rs_Cal_Base.h" /* Named constants for Chart: '/Zone_Climate_Logic_Auto_FL2' */ #define IN_AC_Off ((uint8_t)1U) #define IN_AC_On ((uint8_t)2U) #define IN_AUTO_MODE ((uint8_t)1U) #define IN_Def_Off ((uint8_t)1U) #define IN_Def_On ((uint8_t)2U) #define IN_Face_Off ((uint8_t)1U) #define IN_Face_On ((uint8_t)2U) #define IN_Foot_Off ((uint8_t)1U) #define IN_Foot_On ((uint8_t)2U) #define IN_MANUAL_MODE ((uint8_t)2U) #define IN_NO_ACTIVE_CHILD ((uint8_t)0U) /* Named constants for Chart: '/13,1,3,15 Valve control' */ #define IN_Entry_2W ((uint8_t)1U) #define IN_Entry_3W ((uint8_t)1U) #define IN_NO_ACTIVE_CHILD_c ((uint8_t)0U) #define IN_Wait_2W ((uint8_t)2U) #define IN_Wait_3W ((uint8_t)2U) /* Named constants for Chart: '/Partial REC' */ #define IN_COND_1 ((uint8_t)1U) #define IN_COND_2 ((uint8_t)2U) #define IN_COND_3 ((uint8_t)3U) #define IN_HOLDING ((uint8_t)1U) #define IN_PARTIAL_REC_OFF ((uint8_t)1U) #define IN_PARTIAL_REC_ON ((uint8_t)2U) #define IN_TRACKING ((uint8_t)2U) /* Named constants for Chart: '/Spd_OSA_Trigger' */ #define IN_OSA_OFF ((uint8_t)1U) #define IN_OSA_ON ((uint8_t)2U) /* Named constants for Chart: '/A//C Control' */ #define IN_COMP_OFF ((uint8_t)1U) #define IN_COMP_ON ((uint8_t)2U) #define IN_Chiller_OFF ((uint8_t)1U) #define IN_Chiller_ON ((uint8_t)2U) #define IN_FAULT_HIGH_PRESS ((uint8_t)1U) #define IN_FAULT_LOW_PRESS ((uint8_t)2U) #define IN_Front_A_C_OFF ((uint8_t)1U) #define IN_Front_A_C_ON ((uint8_t)2U) #define IN_PRESSURE_OK ((uint8_t)3U) #define IN_PROT_LEVEL_0 ((uint8_t)1U) #define IN_PROT_LEVEL_1 ((uint8_t)2U) #define IN_PROT_LEVEL_2 ((uint8_t)3U) #define IN_Rear_A_C_OFF ((uint8_t)1U) #define IN_Rear_A_C_ON ((uint8_t)2U) /* Named constants for Chart: '/Zone_Climate_Logic_Auto_FL1' */ #define IN_AC_Off_m ((uint8_t)1U) #define IN_AC_On_d ((uint8_t)2U) #define IN_AUTO_MODE_p ((uint8_t)1U) #define IN_Def_Off_p ((uint8_t)1U) #define IN_Def_On_c ((uint8_t)2U) #define IN_Face_Off_i ((uint8_t)1U) #define IN_Face_On_k ((uint8_t)2U) #define IN_Foot_Off_n ((uint8_t)1U) #define IN_Foot_On_m ((uint8_t)2U) #define IN_MANUAL_MODE_k ((uint8_t)2U) /* Named constants for Chart: '/AC_Max_Active' */ #define IN_AC_MAX_OFF ((uint8_t)1U) #define IN_AC_MAX_ON ((uint8_t)2U) /* Named constants for Chart: '/Defrost_Active' */ #define IN_REC_OFF ((uint8_t)1U) #define IN_REC_ON ((uint8_t)2U) /* Named constants for Chart: '/MAX AC define condition' */ #define IN_MAX_AC_OFF ((uint8_t)1U) #define IN_MAX_AC_ON ((uint8_t)2U) /* Named constants for Chart: '/Synchronization stateflow chart' */ #define IN_FRONT_ONLY ((uint8_t)1U) #define IN_FULL_SYNC ((uint8_t)2U) #define IN_NO_SYNC ((uint8_t)3U) #define IN_REAR_ONLY ((uint8_t)4U) #define IN_SEPARATE_FRONT_AND_REAR ((uint8_t)5U) /* Named constants for Test Sequence: '/test duct filter' */ #define IN_step_1 ((uint8_t)1U) #define IN_step_10 ((uint8_t)2U) #define IN_step_11 ((uint8_t)3U) #define IN_step_12 ((uint8_t)4U) #define IN_step_13 ((uint8_t)5U) #define IN_step_14 ((uint8_t)6U) #define IN_step_15 ((uint8_t)7U) #define IN_step_16 ((uint8_t)8U) #define IN_step_17 ((uint8_t)9U) #define IN_step_18 ((uint8_t)10U) #define IN_step_19 ((uint8_t)11U) #define IN_step_2 ((uint8_t)12U) #define IN_step_20 ((uint8_t)13U) #define IN_step_21 ((uint8_t)14U) #define IN_step_22 ((uint8_t)15U) #define IN_step_23 ((uint8_t)16U) #define IN_step_24 ((uint8_t)17U) #define IN_step_25 ((uint8_t)18U) #define IN_step_26 ((uint8_t)19U) #define IN_step_27 ((uint8_t)20U) #define IN_step_28 ((uint8_t)21U) #define IN_step_29 ((uint8_t)22U) #define IN_step_3 ((uint8_t)23U) #define IN_step_30 ((uint8_t)24U) #define IN_step_31 ((uint8_t)25U) #define IN_step_32 ((uint8_t)26U) #define IN_step_33 ((uint8_t)27U) #define IN_step_34 ((uint8_t)28U) #define IN_step_35 ((uint8_t)29U) #define IN_step_36 ((uint8_t)30U) #define IN_step_37 ((uint8_t)31U) #define IN_step_38 ((uint8_t)32U) #define IN_step_39 ((uint8_t)33U) #define IN_step_4 ((uint8_t)34U) #define IN_step_40 ((uint8_t)35U) #define IN_step_41 ((uint8_t)36U) #define IN_step_42 ((uint8_t)37U) #define IN_step_43 ((uint8_t)38U) #define IN_step_44 ((uint8_t)39U) #define IN_step_45 ((uint8_t)40U) #define IN_step_46 ((uint8_t)41U) #define IN_step_47 ((uint8_t)42U) #define IN_step_48 ((uint8_t)43U) #define IN_step_49 ((uint8_t)44U) #define IN_step_5 ((uint8_t)45U) #define IN_step_50 ((uint8_t)46U) #define IN_step_51 ((uint8_t)47U) #define IN_step_52 ((uint8_t)48U) #define IN_step_53 ((uint8_t)49U) #define IN_step_54 ((uint8_t)50U) #define IN_step_55 ((uint8_t)51U) #define IN_step_56 ((uint8_t)52U) #define IN_step_57 ((uint8_t)53U) #define IN_step_58 ((uint8_t)54U) #define IN_step_59 ((uint8_t)55U) #define IN_step_6 ((uint8_t)56U) #define IN_step_60 ((uint8_t)57U) #define IN_step_61 ((uint8_t)58U) #define IN_step_62 ((uint8_t)59U) #define IN_step_63 ((uint8_t)60U) #define IN_step_64 ((uint8_t)61U) #define IN_step_65 ((uint8_t)62U) #define IN_step_66 ((uint8_t)63U) #define IN_step_67 ((uint8_t)64U) #define IN_step_7 ((uint8_t)65U) #define IN_step_8 ((uint8_t)66U) #define IN_step_9 ((uint8_t)67U) const CmdBusPWMGet HVAC_model_rtZCmdBusPWMGet = { 0U, /* pwmPercentFront */ 0U, /* pwmPercentRear */ 0U, /* pwmPercentFrontReserved */ 0U /* pwmPercentRearReserved */ }; /* CmdBusPWMGet ground */ const CmdBusStatus HVAC_model_rtZCmdBusStatus = { 0, /* Battery */ 0, /* AMB */ 0, /* Incar_FL */ 0, /* Incar_FR */ 0, /* Incar_RL */ 0, /* Incar_RR */ 0, /* Eva_F */ 0, /* Eva_R */ 0, /* Pressure */ 0, /* Duct_FL_Upper */ 0, /* Duct_FL_Lower */ 0, /* Duct_FR_Upper */ 0, /* Duct_FR_Lower */ 0, /* Duct_RL */ 0, /* Duct_RR */ 0, /* Duct_Side_FL */ 0, /* Duct_Side_FR */ 0, /* Duct_Side_RL */ 0, /* Duct_Side_RR */ 0 /* AQS */ }; /* CmdBusStatus ground */ const ActuatorCmdBus HVAC_model_rtZActuatorCmdBus = { { 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U } , /* POS */ { 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U } , /* BUS_ADR */ { 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U } , /* MODE */ { 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U } , /* COM */ { 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U } , /* Stall_SET */ { 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U } , /* Lnoise_SET */ { 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U } , /* Autos_SET */ { 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U } , /* Speed_SET */ { 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U } /* Coils_Stop_SET */ }; /* ActuatorCmdBus ground */ const CmdBusError HVAC_model_rtZCmdBusError = { 0U, /* CCU_IncarTempErrF_Stat */ 0U, /* CCU_IncarTempErrR_Stat */ 0U, /* CCU_DuctTempSenErrF_Stat */ 0U, /* CCU_DuctTempSenErrR_Stat */ 0U, /* CCU_EvaTempSenErrF_Stat */ 0U, /* CCU_EvaTempSenErrR_Stat */ 0U, /* CCU_DeflectorSwErrF_Stat */ 0U, /* CCU_DeflectorSwErrR_Stat */ 0U, /* CCU_PressSenErr_Stat */ 0U, /* CCU_AmbienTemptSenErr_Stat */ 0U, /* CCU_SealingValveErr_Stat */ 0U, /* CCU_ETXVerr_Stat */ 0U, /* CCU_HVACfanOrTXVerrF_Stat */ 0U, /* CCU_HVACfanOrTXVerrR_Stat */ 0U, /* CCU_ActuatorErrF_Stat */ 0U, /* CCU_ActuatorErrR_Stat */ 0U, /* CCU_UltravioletErr_Stat */ 0U, /* CCU_VinRecordErr_Stat */ 0U, /* CCU_AirQualSenErr_Stat */ 0U, /* CCU_CommErr_Stat */ 0U, /* CCU_TWVerr_Stat */ 0U, /* CCU_IonizationErr_Stat */ 0U /* CCU_AromaErr_Stat */ }; /* CmdBusError ground */ const ActuatorCmdBusInput HVAC_model_rtZActuatorCmdBusInput = { { 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U } , /* in_CPOS_ALL */ { 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U } , /* in_Act_Emrf_Slave */ { 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U } , /* in_Mode_Slave */ { 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U } , /* in_Act_Err1_Supply */ { 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U } , /* in_Act_Err2_Communication */ { 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U } , /* in_Act_Err3_Temperature */ { 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U } , /* in_Act_Err4_Permanent_Electrical */ { 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U } , /* in_Act_Stall_Slave */ { 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U } , /* in_Act_Reset */ 0U, /* Busy */ 0U /* Error_Connect */ }; /* ActuatorCmdBusInput ground */ /* Exported block states */ ActuatorCmdBus Actuator_Ch0_Command_Model;/* '/Data Store Memory272' */ ActuatorCmdBus Actuator_Ch1_Command_Model;/* '/Data Store Memory273' */ ActuatorCmdBus Actuator_Ch2_Command_Model;/* '/Data Store Memory274' */ ActuatorCmdBusInput Actuator_Ch0_Status_Model;/* '/Data Store Memory61' */ ActuatorCmdBusInput Actuator_Ch1_Status_Model;/* '/Data Store Memory62' */ ActuatorCmdBusInput Actuator_Ch2_Status_Model;/* '/Data Store Memory63' */ CmdBusStatus Status_Sensor_Model; /* '/Data Store Memory197' */ CmdBusError CCU_Errors_Model; /* '/Data Store Memory3' */ CmdBusPWMGet PWM_Get; /* '/Data Store Memory128' */ /* Block signals (default storage) */ B rtB; /* Block states (default storage) */ DW rtDW; /* External outputs (root outports fed by signals with default storage) */ ExtY rtY; /* Real-time model */ static RT_MODEL rtM_; RT_MODEL *const rtM = &rtM_; /* Forward declaration for local functions */ static void step_1(void); static void step_2(void); static void step_3(void); static void step_4(void); static void E_COMP_MANAGER(bool *Enable_Comp_PID, const int16_t *Eva_F_tg, const int16_t *Eva_R_tg); static void enter_atomic_REAR_ONLY(void); static void enter_atomic_FRONT_ONLY(void); static void enter_atomic_FULL_SYNC(void); static void enter_atomic_SEPARATE_FRONT_AND_REAR(void); static void enter_atomic_NO_SYNC(void); static double find_index(int16_t delta); static bool isequal(const CmdCAN_FIU_CCU1_Bus varargin_1, const CmdCAN_FIU_CCU1_Bus varargin_2); int8_t look1_iu8lu64n56ts8Ds16_binlcs(uint8_t u0, const uint8_t bp0[], const int8_t table[], uint32_t maxIndex) { uint64_t frac; uint32_t iLeft; int8_t yL_0d0; /* Column-major Lookup 1-D Search method: 'binary' Use previous index: 'off' Interpolation method: 'Linear point-slope' Extrapolation method: 'Clip' Use last breakpoint for index at or above upper limit: 'off' Remove protection against out-of-range input in generated code: 'off' Rounding mode: 'simplest' */ /* Prelookup - Index and Fraction Index Search method: 'binary' Extrapolation method: 'Clip' Use previous index: 'off' Use last breakpoint for index at or above upper limit: 'off' Remove protection against out-of-range input in generated code: 'off' Rounding mode: 'simplest' */ if (u0 <= bp0[0U]) { iLeft = 0U; frac = 0ULL; } else if (u0 < bp0[maxIndex]) { uint32_t bpIdx; uint32_t iRght; /* Binary Search */ bpIdx = maxIndex >> 1U; iLeft = 0U; iRght = maxIndex; while (iRght - iLeft > 1U) { if (u0 < bp0[bpIdx]) { iRght = bpIdx; } else { iLeft = bpIdx; } bpIdx = (iRght + iLeft) >> 1U; } uint8_t bpLeftVar; bpLeftVar = bp0[iLeft]; frac = ((uint64_t)((uint32_t)u0 - bpLeftVar) << 56) / ((uint32_t)bp0[iLeft + 1U] - bpLeftVar); } else { iLeft = maxIndex - 1U; frac = 72057594037927936ULL; } /* Column-major Interpolation 1-D Interpolation method: 'Linear point-slope' Use last breakpoint for index at or above upper limit: 'off' Rounding mode: 'simplest' Overflow mode: 'wrapping' */ yL_0d0 = table[iLeft]; return (int8_t)((int8_t)(((int16_t)(table[iLeft + 1U] - yL_0d0) * (int64_t) frac) >> 56) + yL_0d0); } int16_t look1_iu8lu64n48ts16Ds32_binlcs(uint8_t u0, const uint8_t bp0[], const int16_t table[], uint32_t maxIndex) { uint64_t frac; uint32_t iLeft; int16_t yL_0d0; /* Column-major Lookup 1-D Search method: 'binary' Use previous index: 'off' Interpolation method: 'Linear point-slope' Extrapolation method: 'Clip' Use last breakpoint for index at or above upper limit: 'off' Remove protection against out-of-range input in generated code: 'off' Rounding mode: 'simplest' */ /* Prelookup - Index and Fraction Index Search method: 'binary' Extrapolation method: 'Clip' Use previous index: 'off' Use last breakpoint for index at or above upper limit: 'off' Remove protection against out-of-range input in generated code: 'off' Rounding mode: 'simplest' */ if (u0 <= bp0[0U]) { iLeft = 0U; frac = 0ULL; } else if (u0 < bp0[maxIndex]) { uint32_t bpIdx; uint32_t iRght; /* Binary Search */ bpIdx = maxIndex >> 1U; iLeft = 0U; iRght = maxIndex; while (iRght - iLeft > 1U) { if (u0 < bp0[bpIdx]) { iRght = bpIdx; } else { iLeft = bpIdx; } bpIdx = (iRght + iLeft) >> 1U; } uint8_t bpLeftVar; bpLeftVar = bp0[iLeft]; frac = ((uint64_t)((uint32_t)u0 - bpLeftVar) << 48) / ((uint32_t)bp0[iLeft + 1U] - bpLeftVar); } else { iLeft = maxIndex - 1U; frac = 281474976710656ULL; } /* Column-major Interpolation 1-D Interpolation method: 'Linear point-slope' Use last breakpoint for index at or above upper limit: 'off' Rounding mode: 'simplest' Overflow mode: 'wrapping' */ yL_0d0 = table[iLeft]; return (int16_t)((int16_t)(((table[iLeft + 1U] - yL_0d0) * (int64_t)frac) >> 48) + yL_0d0); } int16_t look1_is16lu64n32tu16Ds32Is16_binlcs(int16_t u0, const int16_t bp0[], const uint16_t table[], uint32_t maxIndex) { uint64_t frac; uint32_t iLeft; uint16_t yL_0d0; /* Column-major Lookup 1-D Search method: 'binary' Use previous index: 'off' Interpolation method: 'Linear point-slope' Extrapolation method: 'Clip' Use last breakpoint for index at or above upper limit: 'off' Remove protection against out-of-range input in generated code: 'off' Rounding mode: 'simplest' */ /* Prelookup - Index and Fraction Index Search method: 'binary' Extrapolation method: 'Clip' Use previous index: 'off' Use last breakpoint for index at or above upper limit: 'off' Remove protection against out-of-range input in generated code: 'off' Rounding mode: 'simplest' */ if (u0 <= bp0[0U]) { iLeft = 0U; frac = 0ULL; } else if (u0 < bp0[maxIndex]) { uint32_t bpIdx; uint32_t iRght; /* Binary Search */ bpIdx = maxIndex >> 1U; iLeft = 0U; iRght = maxIndex; while (iRght - iLeft > 1U) { if (u0 < bp0[bpIdx]) { iRght = bpIdx; } else { iLeft = bpIdx; } bpIdx = (iRght + iLeft) >> 1U; } int16_t bpLeftVar; bpLeftVar = bp0[iLeft]; frac = ((uint64_t)(uint32_t)(u0 - bpLeftVar) << 32) / (uint32_t)(bp0[iLeft + 1U] - bpLeftVar); } else { iLeft = maxIndex - 1U; frac = 4294967296ULL; } /* Column-major Interpolation 1-D Interpolation method: 'Linear point-slope' Use last breakpoint for index at or above upper limit: 'off' Rounding mode: 'simplest' Overflow mode: 'wrapping' */ yL_0d0 = table[iLeft]; return (int16_t)((int16_t)(((table[iLeft + 1U] - yL_0d0) * (int64_t)frac) >> 32) + (int16_t)yL_0d0); } uint32_t binsearch_u32s16(int16_t u_6, const int16_t bp[], uint32_t startIndex, uint32_t maxIndex) { uint32_t bpIdx; uint32_t bpIndex; uint32_t iRght; /* Binary Search */ bpIdx = startIndex; bpIndex = 0U; iRght = maxIndex; while (iRght - bpIndex > 1U) { if (u_6 < bp[bpIdx]) { iRght = bpIdx; } else { bpIndex = bpIdx; } bpIdx = (iRght + bpIndex) >> 1U; } return bpIndex; } int16_t look1_is16lu64n32Ds32_binlcs(int16_t u0, const int16_t bp0[], const int16_t table[], uint32_t maxIndex) { uint64_t frac; uint32_t iLeft; int16_t bpLeftVar; /* Column-major Lookup 1-D Search method: 'binary' Use previous index: 'off' Interpolation method: 'Linear point-slope' Extrapolation method: 'Clip' Use last breakpoint for index at or above upper limit: 'off' Remove protection against out-of-range input in generated code: 'off' Rounding mode: 'simplest' */ /* Prelookup - Index and Fraction Index Search method: 'binary' Extrapolation method: 'Clip' Use previous index: 'off' Use last breakpoint for index at or above upper limit: 'off' Remove protection against out-of-range input in generated code: 'off' Rounding mode: 'simplest' */ if (u0 <= bp0[0U]) { iLeft = 0U; frac = 0ULL; } else if (u0 < bp0[maxIndex]) { uint32_t bpIdx; uint32_t iRght; /* Binary Search */ bpIdx = maxIndex >> 1U; iLeft = 0U; iRght = maxIndex; while (iRght - iLeft > 1U) { if (u0 < bp0[bpIdx]) { iRght = bpIdx; } else { iLeft = bpIdx; } bpIdx = (iRght + iLeft) >> 1U; } bpLeftVar = bp0[iLeft]; frac = ((uint64_t)(uint32_t)(u0 - bpLeftVar) << 32) / (uint32_t)(bp0[iLeft + 1U] - bpLeftVar); } else { iLeft = maxIndex - 1U; frac = 4294967296ULL; } /* Column-major Interpolation 1-D Interpolation method: 'Linear point-slope' Use last breakpoint for index at or above upper limit: 'off' Rounding mode: 'simplest' Overflow mode: 'wrapping' */ bpLeftVar = table[iLeft]; return (int16_t)((int16_t)(((table[iLeft + 1U] - bpLeftVar) * (int64_t)frac) >> 32) + bpLeftVar); } int16_t look1_is16lu64n32tu8Ds16Is16_binlcs(int16_t u0, const int16_t bp0[], const uint8_t table[], uint32_t maxIndex) { uint64_t frac; uint32_t iLeft; uint8_t yL_0d0; /* Column-major Lookup 1-D Search method: 'binary' Use previous index: 'off' Interpolation method: 'Linear point-slope' Extrapolation method: 'Clip' Use last breakpoint for index at or above upper limit: 'off' Remove protection against out-of-range input in generated code: 'off' Rounding mode: 'simplest' */ /* Prelookup - Index and Fraction Index Search method: 'binary' Extrapolation method: 'Clip' Use previous index: 'off' Use last breakpoint for index at or above upper limit: 'off' Remove protection against out-of-range input in generated code: 'off' Rounding mode: 'simplest' */ if (u0 <= bp0[0U]) { iLeft = 0U; frac = 0ULL; } else if (u0 < bp0[maxIndex]) { uint32_t bpIdx; uint32_t iRght; /* Binary Search */ bpIdx = maxIndex >> 1U; iLeft = 0U; iRght = maxIndex; while (iRght - iLeft > 1U) { if (u0 < bp0[bpIdx]) { iRght = bpIdx; } else { iLeft = bpIdx; } bpIdx = (iRght + iLeft) >> 1U; } int16_t bpLeftVar; bpLeftVar = bp0[iLeft]; frac = ((uint64_t)(uint32_t)(u0 - bpLeftVar) << 32) / (uint32_t)(bp0[iLeft + 1U] - bpLeftVar); } else { iLeft = maxIndex - 1U; frac = 4294967296ULL; } /* Column-major Interpolation 1-D Interpolation method: 'Linear point-slope' Use last breakpoint for index at or above upper limit: 'off' Rounding mode: 'simplest' Overflow mode: 'wrapping' */ yL_0d0 = table[iLeft]; return (int16_t)((int16_t)(((int16_t)(table[iLeft + 1U] - yL_0d0) * (int64_t) frac) >> 32) + yL_0d0); } int16_t look1_is16lu64n32Ds32_binlcn(int16_t u0, const int16_t bp0[], const int16_t table[], uint32_t maxIndex) { uint64_t frac; uint32_t iLeft; int16_t bpLeftVar; /* Column-major Lookup 1-D Search method: 'binary' Use previous index: 'off' Interpolation method: 'Linear point-slope' Extrapolation method: 'Clip' Use last breakpoint for index at or above upper limit: 'off' Remove protection against out-of-range input in generated code: 'off' Rounding mode: 'nearest' */ /* Prelookup - Index and Fraction Index Search method: 'binary' Extrapolation method: 'Clip' Use previous index: 'off' Use last breakpoint for index at or above upper limit: 'off' Remove protection against out-of-range input in generated code: 'off' Rounding mode: 'nearest' */ if (u0 <= bp0[0U]) { iLeft = 0U; frac = 0ULL; } else if (u0 < bp0[maxIndex]) { uint32_t bpIdx; uint32_t iRght; /* Binary Search */ bpIdx = maxIndex >> 1U; iLeft = 0U; iRght = maxIndex; while (iRght - iLeft > 1U) { if (u0 < bp0[bpIdx]) { iRght = bpIdx; } else { iLeft = bpIdx; } bpIdx = (iRght + iLeft) >> 1U; } bpLeftVar = bp0[iLeft]; bpIdx = (uint32_t)(bp0[iLeft + 1U] - bpLeftVar); frac = (((uint64_t)(uint32_t)(u0 - bpLeftVar) << 32) + ((uint64_t)bpIdx >> 1)) / bpIdx; } else { iLeft = maxIndex - 1U; frac = 4294967296ULL; } /* Column-major Interpolation 1-D Interpolation method: 'Linear point-slope' Use last breakpoint for index at or above upper limit: 'off' Rounding mode: 'nearest' Overflow mode: 'wrapping' */ bpLeftVar = table[iLeft]; return (int16_t)((int16_t)(((table[iLeft + 1U] - bpLeftVar) * (int64_t)frac + 2147483648LL) >> 32) + bpLeftVar); } int16_t look1_bs16ts16Dd_binlc(double u0, const int16_t bp0[], const int16_t table[], uint32_t maxIndex) { double frac; double v; uint32_t iLeft; int16_t uCast; /* Column-major Lookup 1-D Search method: 'binary' Use previous index: 'off' Interpolation method: 'Linear point-slope' Extrapolation method: 'Clip' Use last breakpoint for index at or above upper limit: 'off' Remove protection against out-of-range input in generated code: 'off' */ /* Prelookup - Index and Fraction Index Search method: 'binary' Extrapolation method: 'Clip' Use previous index: 'off' Use last breakpoint for index at or above upper limit: 'off' Remove protection against out-of-range input in generated code: 'off' */ frac = floor(u0); if (frac < 32768.0) { if (frac >= -32768.0) { uCast = (int16_t)frac; } else { uCast = INT16_MIN; } } else { uCast = INT16_MAX; } if (u0 < bp0[0U]) { iLeft = 0U; frac = 0.0; } else if (u0 < bp0[maxIndex]) { uint32_t bpIdx; uint32_t iRght; /* Binary Search */ bpIdx = maxIndex >> 1U; iLeft = 0U; iRght = maxIndex; while (iRght - iLeft > 1U) { if (uCast < bp0[bpIdx]) { iRght = bpIdx; } else { iLeft = bpIdx; } bpIdx = (iRght + iLeft) >> 1U; } frac = (u0 - (double)bp0[iLeft]) / (double)(uint32_t)(bp0[iLeft + 1U] - bp0[iLeft]); } else { iLeft = maxIndex - 1U; frac = 1.0; } /* Column-major Interpolation 1-D Interpolation method: 'Linear point-slope' Use last breakpoint for index at or above upper limit: 'off' Overflow mode: 'wrapping' */ uCast = table[iLeft]; frac *= (double)table[iLeft + 1U] - (double)uCast; v = fabs(frac); if (v < 4.503599627370496E+15) { if (v >= 0.5) { frac = floor(frac + 0.5); } else { frac = 0.0; } } return (int16_t)(uCast + (int16_t)frac); } uint8_t look2_iu8bu8s16lu64n32_binlcse(uint8_t u0, uint8_t u1, const uint8_t bp0[], const int16_t bp1[], const uint8_t table[], const uint32_t maxIndex[], uint32_t stride) { uint64_t fractions[2]; uint64_t frac; uint32_t bpIndices[2]; uint32_t bpIdx; uint32_t iLeft; uint32_t iRght; uint8_t bpLeftVar; uint8_t y; uint8_t yL_0d0; uint8_t yL_1d; /* Column-major Lookup 2-D Search method: 'binary' Use previous index: 'off' Interpolation method: 'Linear point-slope' Extrapolation method: 'Clip' Use last breakpoint for index at or above upper limit: 'off' Remove protection against out-of-range input in generated code: 'off' Rounding mode: 'simplest' */ /* Prelookup - Index and Fraction Index Search method: 'binary' Extrapolation method: 'Clip' Use previous index: 'off' Use last breakpoint for index at or above upper limit: 'off' Remove protection against out-of-range input in generated code: 'off' Rounding mode: 'simplest' */ if (u0 <= bp0[0U]) { iLeft = 0U; frac = 0ULL; } else if (u0 < bp0[maxIndex[0U]]) { /* Binary Search */ bpIdx = maxIndex[0U] >> 1U; iLeft = 0U; iRght = maxIndex[0U]; while (iRght - iLeft > 1U) { if (u0 < bp0[bpIdx]) { iRght = bpIdx; } else { iLeft = bpIdx; } bpIdx = (iRght + iLeft) >> 1U; } bpLeftVar = bp0[iLeft]; frac = ((uint64_t)((uint32_t)u0 - bpLeftVar) << 32) / ((uint32_t)bp0[iLeft + 1U] - bpLeftVar); } else { iLeft = maxIndex[0U] - 1U; frac = 4294967296ULL; } fractions[0U] = frac; bpIndices[0U] = iLeft; /* Prelookup - Index and Fraction Index Search method: 'binary' Extrapolation method: 'Clip' Use previous index: 'off' Use last breakpoint for index at or above upper limit: 'off' Remove protection against out-of-range input in generated code: 'off' Rounding mode: 'simplest' */ if (u1 < bp1[0U]) { iLeft = 0U; frac = 0ULL; } else if (u1 < bp1[maxIndex[1U]]) { /* Binary Search */ bpIdx = maxIndex[1U] >> 1U; iLeft = 0U; iRght = maxIndex[1U]; while (iRght - iLeft > 1U) { if (u1 < bp1[bpIdx]) { iRght = bpIdx; } else { iLeft = bpIdx; } bpIdx = (iRght + iLeft) >> 1U; } frac = ((uint64_t)(u1 - (uint32_t)bp1[iLeft]) << 32) / (uint32_t)(bp1[iLeft + 1U] - bp1[iLeft]); } else { iLeft = maxIndex[1U] - 1U; frac = 4294967296ULL; } /* Column-major Interpolation 2-D Interpolation method: 'Linear point-slope' Use last breakpoint for index at or above upper limit: 'off' Rounding mode: 'simplest' Overflow mode: 'wrapping' */ bpIdx = iLeft * stride + bpIndices[0U]; bpLeftVar = table[bpIdx + 1U]; yL_0d0 = table[bpIdx]; if (bpLeftVar >= yL_0d0) { yL_1d = (uint8_t)((uint32_t)(uint8_t)(((uint8_t)((uint32_t)bpLeftVar - yL_0d0) * fractions[0U]) >> 32) + yL_0d0); } else { yL_1d = (uint8_t)((uint32_t)yL_0d0 - (uint8_t)(((uint8_t)((uint32_t)yL_0d0 - bpLeftVar) * fractions[0U]) >> 32)); } bpIdx += stride; bpLeftVar = table[bpIdx + 1U]; yL_0d0 = table[bpIdx]; if (bpLeftVar >= yL_0d0) { bpLeftVar = (uint8_t)((uint32_t)(uint8_t)(((uint8_t)((uint32_t)bpLeftVar - yL_0d0) * fractions[0U]) >> 32) + yL_0d0); } else { bpLeftVar = (uint8_t)((uint32_t)yL_0d0 - (uint8_t)(((uint8_t)((uint32_t) yL_0d0 - bpLeftVar) * fractions[0U]) >> 32)); } if (bpLeftVar >= yL_1d) { y = (uint8_t)((uint32_t)(uint8_t)(((uint8_t)((uint32_t)bpLeftVar - yL_1d) * frac) >> 32) + yL_1d); } else { y = (uint8_t)((uint32_t)yL_1d - (uint8_t)(((uint8_t)((uint32_t)yL_1d - bpLeftVar) * frac) >> 32)); } return y; } uint8_t look1_iu16lu64n48tu8_binlcse(uint16_t u0, const uint16_t bp0[], const uint8_t table[], uint32_t maxIndex) { uint64_t frac; uint32_t iLeft; uint8_t y; uint8_t yL_0d0; uint8_t yR_0d0; /* Column-major Lookup 1-D Search method: 'binary' Use previous index: 'off' Interpolation method: 'Linear point-slope' Extrapolation method: 'Clip' Use last breakpoint for index at or above upper limit: 'off' Remove protection against out-of-range input in generated code: 'off' Rounding mode: 'simplest' */ /* Prelookup - Index and Fraction Index Search method: 'binary' Extrapolation method: 'Clip' Use previous index: 'off' Use last breakpoint for index at or above upper limit: 'off' Remove protection against out-of-range input in generated code: 'off' Rounding mode: 'simplest' */ if (u0 <= bp0[0U]) { iLeft = 0U; frac = 0ULL; } else if (u0 < bp0[maxIndex]) { uint32_t bpIdx; uint32_t iRght; /* Binary Search */ bpIdx = maxIndex >> 1U; iLeft = 0U; iRght = maxIndex; while (iRght - iLeft > 1U) { if (u0 < bp0[bpIdx]) { iRght = bpIdx; } else { iLeft = bpIdx; } bpIdx = (iRght + iLeft) >> 1U; } uint16_t bpLeftVar; bpLeftVar = bp0[iLeft]; frac = ((uint64_t)((uint32_t)u0 - bpLeftVar) << 48) / ((uint32_t)bp0[iLeft + 1U] - bpLeftVar); } else { iLeft = maxIndex - 1U; frac = 281474976710656ULL; } /* Column-major Interpolation 1-D Interpolation method: 'Linear point-slope' Use last breakpoint for index at or above upper limit: 'off' Rounding mode: 'simplest' Overflow mode: 'wrapping' */ yR_0d0 = table[iLeft + 1U]; yL_0d0 = table[iLeft]; if (yR_0d0 >= yL_0d0) { y = (uint8_t)((uint32_t)(uint8_t)(((uint8_t)((uint32_t)yR_0d0 - yL_0d0) * frac) >> 48) + yL_0d0); } else { y = (uint8_t)((uint32_t)yL_0d0 - (uint8_t)(((uint8_t)((uint32_t)yL_0d0 - yR_0d0) * frac) >> 48)); } return y; } int16_t look1_iu16tdIs16_binlcs(uint16_t u0, const uint16_t bp0[], const double table[], uint32_t maxIndex) { double frac; double yL_0d0; int32_t tmp_1; uint32_t iLeft; int16_t tmp; int16_t tmp_0; /* Column-major Lookup 1-D Search method: 'binary' Use previous index: 'off' Interpolation method: 'Linear point-slope' Extrapolation method: 'Clip' Use last breakpoint for index at or above upper limit: 'off' Remove protection against out-of-range input in generated code: 'off' */ /* Prelookup - Index and Fraction Index Search method: 'binary' Extrapolation method: 'Clip' Use previous index: 'off' Use last breakpoint for index at or above upper limit: 'off' Remove protection against out-of-range input in generated code: 'off' */ if (u0 <= bp0[0U]) { iLeft = 0U; frac = 0.0; } else if (u0 < bp0[maxIndex]) { uint32_t bpIdx; uint32_t iRght; /* Binary Search */ bpIdx = maxIndex >> 1U; iLeft = 0U; iRght = maxIndex; while (iRght - iLeft > 1U) { if (u0 < bp0[bpIdx]) { iRght = bpIdx; } else { iLeft = bpIdx; } bpIdx = (iRght + iLeft) >> 1U; } uint16_t bpLeftVar; bpLeftVar = bp0[iLeft]; frac = (double)((uint32_t)u0 - bpLeftVar) / (double)((uint32_t)bp0[iLeft + 1U] - bpLeftVar); } else { iLeft = maxIndex - 1U; frac = 1.0; } /* Column-major Interpolation 1-D Interpolation method: 'Linear point-slope' Use last breakpoint for index at or above upper limit: 'off' Overflow mode: 'saturate' */ yL_0d0 = table[iLeft]; if (yL_0d0 < 32768.0) { if (yL_0d0 >= -32768.0) { tmp = (int16_t)yL_0d0; } else { tmp = INT16_MIN; } } else { tmp = INT16_MAX; } frac *= table[iLeft + 1U] - yL_0d0; if (frac < 32768.0) { if (frac >= -32768.0) { tmp_0 = (int16_t)frac; } else { tmp_0 = INT16_MIN; } } else { tmp_0 = INT16_MAX; } tmp_1 = tmp + tmp_0; if (tmp_1 > 32767) { tmp_1 = 32767; } else if (tmp_1 < -32768) { tmp_1 = -32768; } return (int16_t)tmp_1; } double look2_binlx(double u0, double u1, const double bp0[], const double bp1[], const double table[], const uint32_t maxIndex[], uint32_t stride) { double fractions[2]; double frac; double yL_0d0; double yL_0d1; uint32_t bpIndices[2]; uint32_t bpIdx; uint32_t iLeft; uint32_t iRght; /* Column-major Lookup 2-D Search method: 'binary' Use previous index: 'off' Interpolation method: 'Linear point-slope' Extrapolation method: 'Linear' Use last breakpoint for index at or above upper limit: 'off' Remove protection against out-of-range input in generated code: 'off' */ /* Prelookup - Index and Fraction Index Search method: 'binary' Extrapolation method: 'Linear' Use previous index: 'off' Use last breakpoint for index at or above upper limit: 'off' Remove protection against out-of-range input in generated code: 'off' */ if (u0 <= bp0[0U]) { iLeft = 0U; frac = (u0 - bp0[0U]) / (bp0[1U] - bp0[0U]); } else if (u0 < bp0[maxIndex[0U]]) { /* Binary Search */ bpIdx = maxIndex[0U] >> 1U; iLeft = 0U; iRght = maxIndex[0U]; while (iRght - iLeft > 1U) { if (u0 < bp0[bpIdx]) { iRght = bpIdx; } else { iLeft = bpIdx; } bpIdx = (iRght + iLeft) >> 1U; } frac = (u0 - bp0[iLeft]) / (bp0[iLeft + 1U] - bp0[iLeft]); } else { iLeft = maxIndex[0U] - 1U; frac = (u0 - bp0[maxIndex[0U] - 1U]) / (bp0[maxIndex[0U]] - bp0[maxIndex[0U] - 1U]); } fractions[0U] = frac; bpIndices[0U] = iLeft; /* Prelookup - Index and Fraction Index Search method: 'binary' Extrapolation method: 'Linear' Use previous index: 'off' Use last breakpoint for index at or above upper limit: 'off' Remove protection against out-of-range input in generated code: 'off' */ if (u1 <= bp1[0U]) { iLeft = 0U; frac = (u1 - bp1[0U]) / (bp1[1U] - bp1[0U]); } else if (u1 < bp1[maxIndex[1U]]) { /* Binary Search */ bpIdx = maxIndex[1U] >> 1U; iLeft = 0U; iRght = maxIndex[1U]; while (iRght - iLeft > 1U) { if (u1 < bp1[bpIdx]) { iRght = bpIdx; } else { iLeft = bpIdx; } bpIdx = (iRght + iLeft) >> 1U; } frac = (u1 - bp1[iLeft]) / (bp1[iLeft + 1U] - bp1[iLeft]); } else { iLeft = maxIndex[1U] - 1U; frac = (u1 - bp1[maxIndex[1U] - 1U]) / (bp1[maxIndex[1U]] - bp1[maxIndex[1U] - 1U]); } /* Column-major Interpolation 2-D Interpolation method: 'Linear point-slope' Use last breakpoint for index at or above upper limit: 'off' Overflow mode: 'wrapping' */ bpIdx = iLeft * stride + bpIndices[0U]; yL_0d0 = table[bpIdx]; yL_0d0 += (table[bpIdx + 1U] - yL_0d0) * fractions[0U]; bpIdx += stride; yL_0d1 = table[bpIdx]; return (((table[bpIdx + 1U] - yL_0d1) * fractions[0U] + yL_0d1) - yL_0d0) * frac + yL_0d0; } int16_t look1_iu16lu64n48ts16Ds32_binlcs(uint16_t u0, const uint16_t bp0[], const int16_t table[], uint32_t maxIndex) { uint64_t frac; uint32_t iLeft; int16_t yL_0d0; /* Column-major Lookup 1-D Search method: 'binary' Use previous index: 'off' Interpolation method: 'Linear point-slope' Extrapolation method: 'Clip' Use last breakpoint for index at or above upper limit: 'off' Remove protection against out-of-range input in generated code: 'off' Rounding mode: 'simplest' */ /* Prelookup - Index and Fraction Index Search method: 'binary' Extrapolation method: 'Clip' Use previous index: 'off' Use last breakpoint for index at or above upper limit: 'off' Remove protection against out-of-range input in generated code: 'off' Rounding mode: 'simplest' */ if (u0 <= bp0[0U]) { iLeft = 0U; frac = 0ULL; } else if (u0 < bp0[maxIndex]) { uint32_t bpIdx; uint32_t iRght; /* Binary Search */ bpIdx = maxIndex >> 1U; iLeft = 0U; iRght = maxIndex; while (iRght - iLeft > 1U) { if (u0 < bp0[bpIdx]) { iRght = bpIdx; } else { iLeft = bpIdx; } bpIdx = (iRght + iLeft) >> 1U; } uint16_t bpLeftVar; bpLeftVar = bp0[iLeft]; frac = ((uint64_t)((uint32_t)u0 - bpLeftVar) << 48) / ((uint32_t)bp0[iLeft + 1U] - bpLeftVar); } else { iLeft = maxIndex - 1U; frac = 281474976710656ULL; } /* Column-major Interpolation 1-D Interpolation method: 'Linear point-slope' Use last breakpoint for index at or above upper limit: 'off' Rounding mode: 'simplest' Overflow mode: 'wrapping' */ yL_0d0 = table[iLeft]; return (int16_t)((int16_t)(((table[iLeft + 1U] - yL_0d0) * (int64_t)frac) >> 48) + yL_0d0); } int16_t look1_iu16bs16lu64n32ts16Ds32_binlcs(uint16_t u0, const int16_t bp0[], const int16_t table[], uint32_t maxIndex) { uint64_t frac; uint32_t iLeft; int16_t yL_0d0; uint16_t tmp; /* Column-major Lookup 1-D Search method: 'binary' Use previous index: 'off' Interpolation method: 'Linear point-slope' Extrapolation method: 'Clip' Use last breakpoint for index at or above upper limit: 'off' Remove protection against out-of-range input in generated code: 'off' Rounding mode: 'simplest' */ /* Prelookup - Index and Fraction Index Search method: 'binary' Extrapolation method: 'Clip' Use previous index: 'off' Use last breakpoint for index at or above upper limit: 'off' Remove protection against out-of-range input in generated code: 'off' Rounding mode: 'simplest' */ tmp = u0; if (u0 > 32767) { tmp = 32767U; } if (u0 < bp0[0U]) { iLeft = 0U; frac = 0ULL; } else if ((int16_t)tmp < bp0[maxIndex]) { uint32_t bpIdx; uint32_t iRght; /* Binary Search */ bpIdx = maxIndex >> 1U; iLeft = 0U; iRght = maxIndex; while (iRght - iLeft > 1U) { if ((int16_t)tmp < bp0[bpIdx]) { iRght = bpIdx; } else { iLeft = bpIdx; } bpIdx = (iRght + iLeft) >> 1U; } frac = ((uint64_t)(u0 - (uint32_t)bp0[iLeft]) << 32) / (uint32_t)(bp0[iLeft + 1U] - bp0[iLeft]); } else { iLeft = maxIndex - 1U; frac = 4294967296ULL; } /* Column-major Interpolation 1-D Interpolation method: 'Linear point-slope' Use last breakpoint for index at or above upper limit: 'off' Rounding mode: 'simplest' Overflow mode: 'wrapping' */ yL_0d0 = table[iLeft]; return (int16_t)((int16_t)(((table[iLeft + 1U] - yL_0d0) * (int64_t)frac) >> 32) + yL_0d0); } int16_t look1_iu16lu64n48Ds32Is16_binlcs(uint16_t u0, const uint16_t bp0[], const uint16_t table[], uint32_t maxIndex) { uint64_t frac; uint32_t iLeft; uint16_t bpLeftVar; /* Column-major Lookup 1-D Search method: 'binary' Use previous index: 'off' Interpolation method: 'Linear point-slope' Extrapolation method: 'Clip' Use last breakpoint for index at or above upper limit: 'off' Remove protection against out-of-range input in generated code: 'off' Rounding mode: 'simplest' */ /* Prelookup - Index and Fraction Index Search method: 'binary' Extrapolation method: 'Clip' Use previous index: 'off' Use last breakpoint for index at or above upper limit: 'off' Remove protection against out-of-range input in generated code: 'off' Rounding mode: 'simplest' */ if (u0 <= bp0[0U]) { iLeft = 0U; frac = 0ULL; } else if (u0 < bp0[maxIndex]) { uint32_t bpIdx; uint32_t iRght; /* Binary Search */ bpIdx = maxIndex >> 1U; iLeft = 0U; iRght = maxIndex; while (iRght - iLeft > 1U) { if (u0 < bp0[bpIdx]) { iRght = bpIdx; } else { iLeft = bpIdx; } bpIdx = (iRght + iLeft) >> 1U; } bpLeftVar = bp0[iLeft]; frac = ((uint64_t)((uint32_t)u0 - bpLeftVar) << 48) / ((uint32_t)bp0[iLeft + 1U] - bpLeftVar); } else { iLeft = maxIndex - 1U; frac = 281474976710656ULL; } /* Column-major Interpolation 1-D Interpolation method: 'Linear point-slope' Use last breakpoint for index at or above upper limit: 'off' Rounding mode: 'simplest' Overflow mode: 'wrapping' */ bpLeftVar = table[iLeft]; return (int16_t)((int16_t)(((table[iLeft + 1U] - bpLeftVar) * (int64_t)frac) >> 48) + (int16_t)bpLeftVar); } uint16_t look1_is16lu64n32tu16_binlcse(int16_t u0, const int16_t bp0[], const uint16_t table[], uint32_t maxIndex) { uint64_t frac; uint32_t iLeft; uint16_t y; uint16_t yL_0d0; uint16_t yR_0d0; /* Column-major Lookup 1-D Search method: 'binary' Use previous index: 'off' Interpolation method: 'Linear point-slope' Extrapolation method: 'Clip' Use last breakpoint for index at or above upper limit: 'off' Remove protection against out-of-range input in generated code: 'off' Rounding mode: 'simplest' */ /* Prelookup - Index and Fraction Index Search method: 'binary' Extrapolation method: 'Clip' Use previous index: 'off' Use last breakpoint for index at or above upper limit: 'off' Remove protection against out-of-range input in generated code: 'off' Rounding mode: 'simplest' */ if (u0 <= bp0[0U]) { iLeft = 0U; frac = 0ULL; } else if (u0 < bp0[maxIndex]) { uint32_t bpIdx; uint32_t iRght; /* Binary Search */ bpIdx = maxIndex >> 1U; iLeft = 0U; iRght = maxIndex; while (iRght - iLeft > 1U) { if (u0 < bp0[bpIdx]) { iRght = bpIdx; } else { iLeft = bpIdx; } bpIdx = (iRght + iLeft) >> 1U; } int16_t bpLeftVar; bpLeftVar = bp0[iLeft]; frac = ((uint64_t)(uint32_t)(u0 - bpLeftVar) << 32) / (uint32_t)(bp0[iLeft + 1U] - bpLeftVar); } else { iLeft = maxIndex - 1U; frac = 4294967296ULL; } /* Column-major Interpolation 1-D Interpolation method: 'Linear point-slope' Use last breakpoint for index at or above upper limit: 'off' Rounding mode: 'simplest' Overflow mode: 'wrapping' */ yR_0d0 = table[iLeft + 1U]; yL_0d0 = table[iLeft]; if (yR_0d0 >= yL_0d0) { y = (uint16_t)((uint32_t)(uint16_t)(((uint16_t)((uint32_t)yR_0d0 - yL_0d0) * frac) >> 32) + yL_0d0); } else { y = (uint16_t)((uint32_t)yL_0d0 - (uint16_t)(((uint16_t)((uint32_t)yL_0d0 - yR_0d0) * frac) >> 32)); } return y; } double look1_bs16ts16DdId_binlc(double u0, const int16_t bp0[], const int16_t table[], uint32_t maxIndex) { double frac; uint32_t iLeft; int16_t uCast; /* Column-major Lookup 1-D Search method: 'binary' Use previous index: 'off' Interpolation method: 'Linear point-slope' Extrapolation method: 'Clip' Use last breakpoint for index at or above upper limit: 'off' Remove protection against out-of-range input in generated code: 'off' */ /* Prelookup - Index and Fraction Index Search method: 'binary' Extrapolation method: 'Clip' Use previous index: 'off' Use last breakpoint for index at or above upper limit: 'off' Remove protection against out-of-range input in generated code: 'off' */ frac = floor(u0); if (frac < 32768.0) { if (frac >= -32768.0) { uCast = (int16_t)frac; } else { uCast = INT16_MIN; } } else { uCast = INT16_MAX; } if (u0 < bp0[0U]) { iLeft = 0U; frac = 0.0; } else if (u0 < bp0[maxIndex]) { uint32_t bpIdx; uint32_t iRght; /* Binary Search */ bpIdx = maxIndex >> 1U; iLeft = 0U; iRght = maxIndex; while (iRght - iLeft > 1U) { if (uCast < bp0[bpIdx]) { iRght = bpIdx; } else { iLeft = bpIdx; } bpIdx = (iRght + iLeft) >> 1U; } frac = (u0 - (double)bp0[iLeft]) / (double)(uint32_t)(bp0[iLeft + 1U] - bp0[iLeft]); } else { iLeft = maxIndex - 1U; frac = 1.0; } /* Column-major Interpolation 1-D Interpolation method: 'Linear point-slope' Use last breakpoint for index at or above upper limit: 'off' Overflow mode: 'wrapping' */ uCast = table[iLeft]; return ((double)table[iLeft + 1U] - (double)uCast) * frac + (double)uCast; } uint8_t look1_iu8lu64n56_binlcse(uint8_t u0, const uint8_t bp0[], const uint8_t table[], uint32_t maxIndex) { uint64_t frac; uint32_t iLeft; uint8_t bpLeftVar; uint8_t y; uint8_t yL_0d0; /* Column-major Lookup 1-D Search method: 'binary' Use previous index: 'off' Interpolation method: 'Linear point-slope' Extrapolation method: 'Clip' Use last breakpoint for index at or above upper limit: 'off' Remove protection against out-of-range input in generated code: 'off' Rounding mode: 'simplest' */ /* Prelookup - Index and Fraction Index Search method: 'binary' Extrapolation method: 'Clip' Use previous index: 'off' Use last breakpoint for index at or above upper limit: 'off' Remove protection against out-of-range input in generated code: 'off' Rounding mode: 'simplest' */ if (u0 <= bp0[0U]) { iLeft = 0U; frac = 0ULL; } else if (u0 < bp0[maxIndex]) { uint32_t bpIdx; uint32_t iRght; /* Binary Search */ bpIdx = maxIndex >> 1U; iLeft = 0U; iRght = maxIndex; while (iRght - iLeft > 1U) { if (u0 < bp0[bpIdx]) { iRght = bpIdx; } else { iLeft = bpIdx; } bpIdx = (iRght + iLeft) >> 1U; } bpLeftVar = bp0[iLeft]; frac = ((uint64_t)((uint32_t)u0 - bpLeftVar) << 56) / ((uint32_t)bp0[iLeft + 1U] - bpLeftVar); } else { iLeft = maxIndex - 1U; frac = 72057594037927936ULL; } /* Column-major Interpolation 1-D Interpolation method: 'Linear point-slope' Use last breakpoint for index at or above upper limit: 'off' Rounding mode: 'simplest' Overflow mode: 'wrapping' */ bpLeftVar = table[iLeft + 1U]; yL_0d0 = table[iLeft]; if (bpLeftVar >= yL_0d0) { y = (uint8_t)((uint32_t)(uint8_t)(((uint8_t)((uint32_t)bpLeftVar - yL_0d0) * frac) >> 56) + yL_0d0); } else { y = (uint8_t)((uint32_t)yL_0d0 - (uint8_t)(((uint8_t)((uint32_t)yL_0d0 - bpLeftVar) * frac) >> 56)); } return y; } double look1_iu16td_binlc(uint16_t u0, const uint16_t bp0[], const double table[], uint32_t maxIndex) { double frac; double yL_0d0; uint32_t iLeft; /* Column-major Lookup 1-D Search method: 'binary' Use previous index: 'off' Interpolation method: 'Linear point-slope' Extrapolation method: 'Clip' Use last breakpoint for index at or above upper limit: 'off' Remove protection against out-of-range input in generated code: 'off' */ /* Prelookup - Index and Fraction Index Search method: 'binary' Extrapolation method: 'Clip' Use previous index: 'off' Use last breakpoint for index at or above upper limit: 'off' Remove protection against out-of-range input in generated code: 'off' */ if (u0 <= bp0[0U]) { iLeft = 0U; frac = 0.0; } else if (u0 < bp0[maxIndex]) { uint32_t bpIdx; uint32_t iRght; /* Binary Search */ bpIdx = maxIndex >> 1U; iLeft = 0U; iRght = maxIndex; while (iRght - iLeft > 1U) { if (u0 < bp0[bpIdx]) { iRght = bpIdx; } else { iLeft = bpIdx; } bpIdx = (iRght + iLeft) >> 1U; } uint16_t bpLeftVar; bpLeftVar = bp0[iLeft]; frac = (double)((uint32_t)u0 - bpLeftVar) / (double)((uint32_t)bp0[iLeft + 1U] - bpLeftVar); } else { iLeft = maxIndex - 1U; frac = 1.0; } /* Column-major Interpolation 1-D Interpolation method: 'Linear point-slope' Use last breakpoint for index at or above upper limit: 'off' Overflow mode: 'wrapping' */ yL_0d0 = table[iLeft]; return (table[iLeft + 1U] - yL_0d0) * frac + yL_0d0; } uint32_t plook_u32s16_bincka(int16_t u_7, const int16_t bp[], uint32_t maxIndex) { uint32_t bpIndex; /* Prelookup - Index only Index Search method: 'binary' Extrapolation method: 'Clip' Use previous index: 'off' Use last breakpoint for index at or above upper limit: 'on' Remove protection against out-of-range input in generated code: 'off' */ if (u_7 <= bp[0U]) { bpIndex = 0U; } else if (u_7 < bp[maxIndex]) { bpIndex = binsearch_u32s16(u_7, bp, maxIndex >> 1U, maxIndex); } else { bpIndex = maxIndex; } return bpIndex; } int32_t div_nzp_s32_round(int32_t numerator, int32_t denominator) { uint32_t absDenominator; uint32_t absNumerator; uint32_t tempAbsQuotient; absNumerator = numerator < 0 ? ~(uint32_t)numerator + 1U : (uint32_t)numerator; absDenominator = denominator < 0 ? ~(uint32_t)denominator + 1U : (uint32_t) denominator; tempAbsQuotient = absNumerator / absDenominator; absNumerator %= absDenominator; absNumerator <<= 1U; if (absNumerator >= absDenominator) { tempAbsQuotient++; } return (numerator < 0) != (denominator < 0) ? -(int32_t)tempAbsQuotient : (int32_t)tempAbsQuotient; } /* * Output and update for atomic system: * '/get_tg_FLL_for_LVL' * '/get_tg_FLL_for_LVL' * '/get_tg_for_LVL' * '/get_tg_FLL_for_LVL' * '/get_tg_FLL_for_LVL' * '/get_tg_for_LVL' */ void get_tg_FLL_for_LVL(uint8_t rtu_ambient_Lvl, uint8_t rtu_set_tmp, int16_t *rty_vals) { int32_t i; uint32_t qY; int16_t tmp[78]; /* : table = [ */ /* : g_assTG_FLL_LV0; */ /* : g_assTG_FLL_LV1; */ /* : g_assTG_FLL_LV2; */ /* : g_assTG_FLL_LV3; */ /* : g_assTG_FLL_LV4; */ /* : g_assTG_FLL_LV5 */ /* : ]; */ /* : vals = table(ambient_Lvl + 1, set_tmp - 16); */ for (i = 0; i < 13; i++) { tmp[6 * i] = g_assTG_FLL_LV0[i]; tmp[6 * i + 1] = g_assTG_FLL_LV1[i]; tmp[6 * i + 2] = g_assTG_FLL_LV2[i]; tmp[6 * i + 3] = g_assTG_FLL_LV3[i]; tmp[6 * i + 4] = g_assTG_FLL_LV4[i]; tmp[6 * i + 5] = g_assTG_FLL_LV5[i]; } i = (int32_t)(rtu_ambient_Lvl + 1U); if (rtu_ambient_Lvl + 1U > 255U) { i = 255; } /* MW:begin MISRA2012:D4.1 CERT-C:INT30-C 'Justifying MISRA CPP rule violation' */ qY = rtu_set_tmp - 16U; /* MW:end MISRA2012:D4.1 CERT-C:INT30-C */ if (rtu_set_tmp - 16U > rtu_set_tmp) { qY = 0U; } *rty_vals = tmp[(((int32_t)qY - 1) * 6 + i) - 1]; } /* * Output and update for atomic system: * '/get_tg_FLL_for_LVL' * '/get_tg_FLL_for_LVL' * '/get_tg_FLL_for_LVL' * '/get_tg_FLL_for_LVL' * '/get_tg_FLL_for_LVL' * '/get_tg_FLL_for_LVL' */ void get_tg_FLL_for_LVL_j(uint8_t rtu_ambient_Lvl, uint8_t rtu_set_tmp, int16_t * rty_vals) { int32_t i; uint32_t qY; int16_t tmp[78]; /* : table = [ */ /* : g_assTG_FRL_LV0; */ /* : g_assTG_FRL_LV1; */ /* : g_assTG_FRL_LV2; */ /* : g_assTG_FRL_LV3; */ /* : g_assTG_FRL_LV4; */ /* : g_assTG_FRL_LV5 */ /* : ]; */ /* : vals = table(ambient_Lvl + 1, set_tmp - 16); */ for (i = 0; i < 13; i++) { tmp[6 * i] = g_assTG_FRL_LV0[i]; tmp[6 * i + 1] = g_assTG_FRL_LV1[i]; tmp[6 * i + 2] = g_assTG_FRL_LV2[i]; tmp[6 * i + 3] = g_assTG_FRL_LV3[i]; tmp[6 * i + 4] = g_assTG_FRL_LV4[i]; tmp[6 * i + 5] = g_assTG_FRL_LV5[i]; } i = (int32_t)(rtu_ambient_Lvl + 1U); if (rtu_ambient_Lvl + 1U > 255U) { i = 255; } /* MW:begin MISRA2012:D4.1 CERT-C:INT30-C 'Justifying MISRA CPP rule violation' */ qY = rtu_set_tmp - 16U; /* MW:end MISRA2012:D4.1 CERT-C:INT30-C */ if (rtu_set_tmp - 16U > rtu_set_tmp) { qY = 0U; } *rty_vals = tmp[(((int32_t)qY - 1) * 6 + i) - 1]; } /* * Output and update for atomic system: * '/g_assFLOW_BI_AMB_TGT' * '/g_assFLOW_BI_AMB_TGT' * '/g_assFLOW_BI_AMB_TGT' * '/g_assFLOW_BI_AMB_TGT' */ void g_assFLOW_BI_AMB_TGT_n(uint8_t rtu_LVL, int16_t *rty_c_g_assFLOW_BI_AMB_TGT) { int32_t tmp; /* : c_g_assFLOW_BI_AMB_TGT = g_assFLOW_BI_AMB_TGT(LVL + 1); */ tmp = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp = 255; } *rty_c_g_assFLOW_BI_AMB_TGT = g_assFLOW_BI_AMB_TGT[tmp - 1]; } /* * Output and update for action system: * '/Bilevel' * '/Bilevel' */ void Bilevel(int16_t rtu_Amb_Fb, uint8_t rtu_LVL, uint16_t rty_Out1[9], uint8_t rtu_setTempFL, uint8_t rtu_setTempFR) { int32_t tmp; int32_t tmp_0; int16_t rtb_u_eg; uint16_t rtb_FLF_NEW; uint16_t rtb_FRF_NEW; uint16_t rtb_Switch2_a5_idx_0; uint16_t rtb_Switch2_a5_idx_1; uint16_t rtb_Switch2_cd_0; int8_t rtb_X_l; uint8_t rtb_c_g_aucFLOW_BI2_FOOT_VALVE_MIN; uint8_t rtb_c_g_aucFLOW_BI_FOOT_VALVE_MAX; uint8_t rtb_c_g_aucFLOW_BI_FOOT_VALVE_MAX_n; uint8_t rtb_c_g_aucFLOW_BI_FOOT_VALVE_MIN; uint8_t rtb_c_g_aucFLOW_BI_VENT_VALVE_MAX; uint8_t rtb_c_g_aucFLOW_BI_VENT_VALVE_MAX_h; uint8_t rtb_c_g_aucFLOW_BI_VENT_VALVE_MIN; uint8_t rtb_c_g_aucFLOW_BI_VENT_VALVE_MIN_a; /* MATLAB Function: '/get_tg_FLL_for_LVL' */ /* : c_g_assFLOW_BI_TEMP_TGT = g_assFLOW_BI_TEMP_TGT(LVL + 1); */ get_tg_FLL_for_LVL(rtu_LVL, rtu_setTempFL, &rtb_u_eg); /* MATLAB Function: '/g_assFLOW_BI2_TEMP_TGT_LEFT' */ tmp_0 = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp_0 = 255; } /* Sum: '/ 1' incorporates: * MATLAB Function: '/g_assFLOW_BI2_TEMP_TGT_LEFT' */ rtb_u_eg = (int16_t)(g_assFLOW_BI_TEMP_TGT[tmp_0 - 1] - rtb_u_eg); /* Gain: '/Gain6' */ tmp_0 = 13107 * rtb_u_eg; rtb_X_l = (int8_t)(((((uint32_t)tmp_0 & 65536U) != 0U) && ((((uint32_t)tmp_0 & 65535U) != 0U) || (tmp_0 > 0))) + (tmp_0 >> 17)); /* Switch: '/Switch1' incorporates: * Gain: '/Gain6' * Sum: '/Add' */ /* : c_g_aucFLOW_BI_FOOT_PLUS = g_aucFLOW_BI_FOOT_PLUS(LVL + 1); */ if (rtb_X_l >= 0) { rtb_FLF_NEW = rty_Out1[4]; } else { /* MATLAB Function: '/g_aucFLOW_BI_FOOT_PLUS_LEFT' incorporates: * MATLAB Function: '/g_assFLOW_BI2_TEMP_TGT_LEFT' */ tmp_0 = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp_0 = 255; } /* Gain: '/Gain6' incorporates: * MATLAB Function: '/g_aucFLOW_BI_FOOT_PLUS_LEFT' * Product: '/Product3' */ tmp_0 = g_aucFLOW_BI_FOOT_PLUS[tmp_0 - 1] * rtb_X_l * 13107; rtb_FLF_NEW = (uint16_t)((int16_t)rty_Out1[4] - (int8_t)(((((uint32_t)tmp_0 & 65536U) != 0U) && (((uint32_t)tmp_0 & 65535U) != 0U)) + (tmp_0 >> 17))); } /* End of Switch: '/Switch1' */ /* MATLAB Function: '/g_aucFLOW_BI_FOOT_VALVE_MAX1' incorporates: * MATLAB Function: '/g_assFLOW_BI2_TEMP_TGT_LEFT' */ /* : c_g_aucFLOW_BI_FOOT_VALVE_MAX = g_aucFLOW_BI_FOOT_VALVE_MAX(LVL + 1); */ tmp_0 = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp_0 = 255; } rtb_c_g_aucFLOW_BI_FOOT_VALVE_MAX_n = g_aucFLOW_BI_FOOT_VALVE_MAX[tmp_0 - 1]; /* End of MATLAB Function: '/g_aucFLOW_BI_FOOT_VALVE_MAX1' */ /* MATLAB Function: '/g_aucFLOW_BI_FOOT_VALVE_MIN1' incorporates: * MATLAB Function: '/g_assFLOW_BI2_TEMP_TGT_LEFT' */ /* : c_g_aucFLOW_BI2_FOOT_VALVE_MIN = g_aucFLOW_BI_FOOT_VALVE_MIN(LVL +1); */ tmp_0 = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp_0 = 255; } rtb_c_g_aucFLOW_BI2_FOOT_VALVE_MIN = g_aucFLOW_BI_FOOT_VALVE_MIN[tmp_0 - 1]; /* End of MATLAB Function: '/g_aucFLOW_BI_FOOT_VALVE_MIN1' */ /* MATLAB Function: '/get_tg_FLL_for_LVL' */ /* : c_g_assFLOW_BI_TEMP_TGT = g_assFLOW_BI_TEMP_TGT(LVL + 1 + 6); */ get_tg_FLL_for_LVL_j(rtu_LVL, rtu_setTempFR, &rtb_u_eg); /* MATLAB Function: '/g_assFLOW_BI_TEMP_TGT_RIGHT' incorporates: * MATLAB Function: '/g_assFLOW_BI2_TEMP_TGT_LEFT' */ tmp_0 = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp_0 = 255; } tmp = (int32_t)((uint32_t)tmp_0 + 6U); if ((uint32_t)tmp_0 + 6U > 255U) { tmp = 255; } /* Sum: '/ 1' incorporates: * MATLAB Function: '/g_assFLOW_BI_TEMP_TGT_RIGHT' */ rtb_u_eg = (int16_t)(g_assFLOW_BI_TEMP_TGT[tmp - 1] - rtb_u_eg); /* Gain: '/Gain6' */ tmp_0 = 13107 * rtb_u_eg; rtb_X_l = (int8_t)(((((uint32_t)tmp_0 & 65536U) != 0U) && ((((uint32_t)tmp_0 & 65535U) != 0U) || (tmp_0 > 0))) + (tmp_0 >> 17)); /* Switch: '/Switch3' incorporates: * Gain: '/Gain7' * Sum: '/Add1' */ /* : c_g_aucFLOW_BI_FOOT_PLUS = g_aucFLOW_BI_FOOT_PLUS(LVL + 1 + 6); */ if (rtb_X_l >= 0) { rtb_FRF_NEW = rty_Out1[6]; } else { /* MATLAB Function: '/g_aucFLOW_BI_FOOT_PLUS_RIGHT' incorporates: * MATLAB Function: '/g_assFLOW_BI2_TEMP_TGT_LEFT' */ tmp_0 = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp_0 = 255; } tmp = (int32_t)((uint32_t)tmp_0 + 6U); if ((uint32_t)tmp_0 + 6U > 255U) { tmp = 255; } /* Gain: '/Gain7' incorporates: * MATLAB Function: '/g_aucFLOW_BI_FOOT_PLUS_RIGHT' * Product: '/Product4' */ tmp_0 = g_aucFLOW_BI_FOOT_PLUS[tmp - 1] * rtb_X_l * 13107; rtb_FRF_NEW = (uint16_t)((int16_t)rty_Out1[6] - (int8_t)(((((uint32_t)tmp_0 & 65536U) != 0U) && (((uint32_t)tmp_0 & 65535U) != 0U)) + (tmp_0 >> 17))); } /* End of Switch: '/Switch3' */ /* MATLAB Function: '/g_aucFLOW_BI_FOOT_VALVE_MAX2' incorporates: * MATLAB Function: '/g_assFLOW_BI2_TEMP_TGT_LEFT' */ /* : c_g_aucFLOW_BI_FOOT_VALVE_MAX = g_aucFLOW_BI_FOOT_VALVE_MAX(LVL + 1 + 6); */ tmp_0 = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp_0 = 255; } tmp = (int32_t)((uint32_t)tmp_0 + 6U); if ((uint32_t)tmp_0 + 6U > 255U) { tmp = 255; } rtb_c_g_aucFLOW_BI_FOOT_VALVE_MAX = g_aucFLOW_BI_FOOT_VALVE_MAX[tmp - 1]; /* End of MATLAB Function: '/g_aucFLOW_BI_FOOT_VALVE_MAX2' */ /* MATLAB Function: '/g_aucFLOW_BI_FOOT_VALVE_MIN2' incorporates: * MATLAB Function: '/g_assFLOW_BI2_TEMP_TGT_LEFT' */ /* : c_g_aucFLOW_BI_FOOT_VALVE_MIN = g_aucFLOW_BI_FOOT_VALVE_MIN(LVL + 1 + 6); */ tmp_0 = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp_0 = 255; } tmp = (int32_t)((uint32_t)tmp_0 + 6U); if ((uint32_t)tmp_0 + 6U > 255U) { tmp = 255; } rtb_c_g_aucFLOW_BI_FOOT_VALVE_MIN = g_aucFLOW_BI_FOOT_VALVE_MIN[tmp - 1]; /* End of MATLAB Function: '/g_aucFLOW_BI_FOOT_VALVE_MIN2' */ /* MATLAB Function: '/g_assFLOW_BI_AMB_TGT' */ /* : c_g_aucFLOW_BI_VENT_PLUS = g_aucFLOW_BI_VENT_PLUS(LVL + 1); */ g_assFLOW_BI_AMB_TGT_n(rtu_LVL, &rtb_u_eg); /* MATLAB Function: '/g_aucFLOW_BI_VENT_PLUS' incorporates: * MATLAB Function: '/g_assFLOW_BI2_TEMP_TGT_LEFT' */ tmp_0 = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp_0 = 255; } /* Gain: '/Gain2' incorporates: * Sum: '/deg' */ tmp = (int16_t)(rtb_u_eg - rtu_Amb_Fb) * 13107; /* Product: '/Умножили' incorporates: * Gain: '/Gain' * Gain: '/Gain2' * MATLAB Function: '/g_aucFLOW_BI_VENT_PLUS' */ rtb_u_eg = (int16_t)((int8_t)(((((uint32_t)tmp & 65536U) != 0U) && ((((uint32_t)tmp & 65535U) != 0U) || (tmp > 0))) + (tmp >> 17)) * (int32_t) ((g_aucFLOW_BI_VENT_PLUS[tmp_0 - 1] * 205U + 1024U) >> 11)); /* DataTypeConversion: '/Data Type Conversion' incorporates: * Sum: '/ ' * Switch: '/Switch2' */ rtb_Switch2_a5_idx_0 = (uint16_t)((uint16_t)((rty_Out1[0] - rtb_u_eg) >> 1) << 1); rtb_Switch2_a5_idx_1 = (uint16_t)((uint16_t)((rty_Out1[1] - rtb_u_eg) >> 1) << 1); /* MATLAB Function: '/g_aucFLOW_BI_VENT_VALVE_MAX' incorporates: * MATLAB Function: '/g_assFLOW_BI2_TEMP_TGT_LEFT' */ /* : c_g_aucFLOW_BI_VENT_VALVE_MAX = g_aucFLOW_BI_VENT_VALVE_MAX(LVL + 1); */ tmp_0 = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp_0 = 255; } rtb_c_g_aucFLOW_BI_VENT_VALVE_MAX_h = g_aucFLOW_BI_VENT_VALVE_MAX[tmp_0 - 1]; /* End of MATLAB Function: '/g_aucFLOW_BI_VENT_VALVE_MAX' */ /* MATLAB Function: '/g_aucFLOW_BI_VENT_VALVE_MIN' incorporates: * MATLAB Function: '/g_assFLOW_BI2_TEMP_TGT_LEFT' */ /* : c_g_aucFLOW_BI_VENT_VALVE_MIN = g_aucFLOW_BI_VENT_VALVE_MIN(LVL + 1); */ tmp_0 = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp_0 = 255; } rtb_c_g_aucFLOW_BI_VENT_VALVE_MIN_a = g_aucFLOW_BI_VENT_VALVE_MIN[tmp_0 - 1]; /* End of MATLAB Function: '/g_aucFLOW_BI_VENT_VALVE_MIN' */ /* MATLAB Function: '/g_assFLOW_BI_AMB_TGT' */ /* : c_g_aucFLOW_BI_VENT_PLUS = g_aucFLOW_BI_VENT_PLUS(LVL + 1 + 6); */ g_assFLOW_BI_AMB_TGT_n(rtu_LVL, &rtb_u_eg); /* MATLAB Function: '/g_aucFLOW_BI_VENT_PLUS' incorporates: * MATLAB Function: '/g_assFLOW_BI2_TEMP_TGT_LEFT' */ tmp_0 = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp_0 = 255; } tmp = (int32_t)((uint32_t)tmp_0 + 6U); if ((uint32_t)tmp_0 + 6U > 255U) { tmp = 255; } /* Gain: '/Gain2' incorporates: * Sum: '/deg' */ tmp_0 = (int16_t)(rtb_u_eg - rtu_Amb_Fb) * 13107; /* Product: '/Умножили' incorporates: * Gain: '/Gain' * Gain: '/Gain2' * MATLAB Function: '/g_aucFLOW_BI_VENT_PLUS' */ rtb_u_eg = (int16_t)((int8_t)(((((uint32_t)tmp_0 & 65536U) != 0U) && ((((uint32_t)tmp_0 & 65535U) != 0U) || (tmp_0 > 0))) + (tmp_0 >> 17)) * (int32_t)((g_aucFLOW_BI_VENT_PLUS[tmp - 1] * 205U + 1024U) >> 11)); /* MATLAB Function: '/g_aucFLOW_BI_VENT_VALVE_MAX' incorporates: * MATLAB Function: '/g_assFLOW_BI2_TEMP_TGT_LEFT' */ /* : c_g_aucFLOW_BI_VENT_VALVE_MAX = g_aucFLOW_BI_VENT_VALVE_MAX(LVL + 1 + 6); */ tmp_0 = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp_0 = 255; } tmp = (int32_t)((uint32_t)tmp_0 + 6U); if ((uint32_t)tmp_0 + 6U > 255U) { tmp = 255; } rtb_c_g_aucFLOW_BI_VENT_VALVE_MAX = g_aucFLOW_BI_VENT_VALVE_MAX[tmp - 1]; /* End of MATLAB Function: '/g_aucFLOW_BI_VENT_VALVE_MAX' */ /* MATLAB Function: '/g_aucFLOW_BI_VENT_VALVE_MIN' incorporates: * MATLAB Function: '/g_assFLOW_BI2_TEMP_TGT_LEFT' */ /* : c_g_aucFLOW_BI_VENT_VALVE_MIN = g_aucFLOW_BI_VENT_VALVE_MIN(LVL + 1 + 6); */ tmp_0 = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp_0 = 255; } tmp = (int32_t)((uint32_t)tmp_0 + 6U); if ((uint32_t)tmp_0 + 6U > 255U) { tmp = 255; } rtb_c_g_aucFLOW_BI_VENT_VALVE_MIN = g_aucFLOW_BI_VENT_VALVE_MIN[tmp - 1]; /* End of MATLAB Function: '/g_aucFLOW_BI_VENT_VALVE_MIN' */ /* DataTypeConversion: '/Data Type Conversion' incorporates: * Sum: '/ ' * Switch: '/Switch2' */ rtb_Switch2_cd_0 = (uint16_t)((uint16_t)((rty_Out1[0] - rtb_u_eg) >> 1) << 1); /* Switch: '/Switch2' incorporates: * RelationalOperator: '/LowerRelop1' * RelationalOperator: '/UpperRelop' * Switch: '/Switch' */ if (rtb_Switch2_a5_idx_0 > rtb_c_g_aucFLOW_BI_VENT_VALVE_MAX_h) { /* Assignment: '/Присваивание в [1-2]' incorporates: * SignalConversion generated from: '/Out1' */ rty_Out1[0] = rtb_c_g_aucFLOW_BI_VENT_VALVE_MAX_h; } else if (rtb_Switch2_a5_idx_0 < rtb_c_g_aucFLOW_BI_VENT_VALVE_MIN_a) { /* Switch: '/Switch' incorporates: * Assignment: '/Присваивание в [1-2]' * SignalConversion generated from: '/Out1' */ rty_Out1[0] = rtb_c_g_aucFLOW_BI_VENT_VALVE_MIN_a; } else { /* Assignment: '/Присваивание в [1-2]' incorporates: * SignalConversion generated from: '/Out1' * Switch: '/Switch' */ rty_Out1[0] = rtb_Switch2_a5_idx_0; } /* Switch: '/Switch2' incorporates: * RelationalOperator: '/LowerRelop1' * RelationalOperator: '/UpperRelop' * Switch: '/Switch' */ if (rtb_Switch2_cd_0 > rtb_c_g_aucFLOW_BI_VENT_VALVE_MAX) { /* Assignment: '/Присваивание в [3-4]' incorporates: * SignalConversion generated from: '/Out1' */ rty_Out1[2] = rtb_c_g_aucFLOW_BI_VENT_VALVE_MAX; } else if (rtb_Switch2_cd_0 < rtb_c_g_aucFLOW_BI_VENT_VALVE_MIN) { /* Switch: '/Switch' incorporates: * Assignment: '/Присваивание в [3-4]' * SignalConversion generated from: '/Out1' */ rty_Out1[2] = rtb_c_g_aucFLOW_BI_VENT_VALVE_MIN; } else { /* Assignment: '/Присваивание в [3-4]' incorporates: * SignalConversion generated from: '/Out1' * Switch: '/Switch' */ rty_Out1[2] = rtb_Switch2_cd_0; } /* DataTypeConversion: '/Data Type Conversion' incorporates: * Sum: '/ ' * Switch: '/Switch2' */ rtb_Switch2_cd_0 = (uint16_t)((uint16_t)((rty_Out1[1] - rtb_u_eg) >> 1) << 1); /* Switch: '/Switch2' incorporates: * RelationalOperator: '/LowerRelop1' * RelationalOperator: '/UpperRelop' * Switch: '/Switch' */ if (rtb_Switch2_a5_idx_1 > rtb_c_g_aucFLOW_BI_VENT_VALVE_MAX_h) { /* Assignment: '/Присваивание в [1-2]' incorporates: * SignalConversion generated from: '/Out1' */ rty_Out1[1] = rtb_c_g_aucFLOW_BI_VENT_VALVE_MAX_h; } else if (rtb_Switch2_a5_idx_1 < rtb_c_g_aucFLOW_BI_VENT_VALVE_MIN_a) { /* Switch: '/Switch' incorporates: * Assignment: '/Присваивание в [1-2]' * SignalConversion generated from: '/Out1' */ rty_Out1[1] = rtb_c_g_aucFLOW_BI_VENT_VALVE_MIN_a; } else { /* Assignment: '/Присваивание в [1-2]' incorporates: * SignalConversion generated from: '/Out1' * Switch: '/Switch' */ rty_Out1[1] = rtb_Switch2_a5_idx_1; } /* Switch: '/Switch2' incorporates: * RelationalOperator: '/LowerRelop1' * RelationalOperator: '/UpperRelop' * Switch: '/Switch' */ if (rtb_Switch2_cd_0 > rtb_c_g_aucFLOW_BI_VENT_VALVE_MAX) { /* Assignment: '/Присваивание в [3-4]' incorporates: * SignalConversion generated from: '/Out1' */ rty_Out1[3] = rtb_c_g_aucFLOW_BI_VENT_VALVE_MAX; } else if (rtb_Switch2_cd_0 < rtb_c_g_aucFLOW_BI_VENT_VALVE_MIN) { /* Switch: '/Switch' incorporates: * Assignment: '/Присваивание в [3-4]' * SignalConversion generated from: '/Out1' */ rty_Out1[3] = rtb_c_g_aucFLOW_BI_VENT_VALVE_MIN; } else { /* Assignment: '/Присваивание в [3-4]' incorporates: * SignalConversion generated from: '/Out1' * Switch: '/Switch' */ rty_Out1[3] = rtb_Switch2_cd_0; } /* Switch: '/Switch2' incorporates: * RelationalOperator: '/LowerRelop1' * RelationalOperator: '/UpperRelop' * Switch: '/Switch' */ if (rtb_FLF_NEW > rtb_c_g_aucFLOW_BI_FOOT_VALVE_MAX_n) { /* Assignment: '/Присваивание в [5]' incorporates: * SignalConversion generated from: '/Out1' */ rty_Out1[4] = rtb_c_g_aucFLOW_BI_FOOT_VALVE_MAX_n; } else if (rtb_FLF_NEW < rtb_c_g_aucFLOW_BI2_FOOT_VALVE_MIN) { /* Switch: '/Switch' incorporates: * Assignment: '/Присваивание в [5]' * SignalConversion generated from: '/Out1' */ rty_Out1[4] = rtb_c_g_aucFLOW_BI2_FOOT_VALVE_MIN; } else { /* Assignment: '/Присваивание в [5]' incorporates: * SignalConversion generated from: '/Out1' * Switch: '/Switch' */ rty_Out1[4] = rtb_FLF_NEW; } /* End of Switch: '/Switch2' */ /* Switch: '/Switch2' incorporates: * RelationalOperator: '/LowerRelop1' * RelationalOperator: '/UpperRelop' * Switch: '/Switch' */ if (rtb_FRF_NEW > rtb_c_g_aucFLOW_BI_FOOT_VALVE_MAX) { /* Assignment: '/Присваивание в [7]' incorporates: * SignalConversion generated from: '/Out1' */ rty_Out1[6] = rtb_c_g_aucFLOW_BI_FOOT_VALVE_MAX; } else if (rtb_FRF_NEW < rtb_c_g_aucFLOW_BI_FOOT_VALVE_MIN) { /* Switch: '/Switch' incorporates: * Assignment: '/Присваивание в [7]' * SignalConversion generated from: '/Out1' */ rty_Out1[6] = rtb_c_g_aucFLOW_BI_FOOT_VALVE_MIN; } else { /* Assignment: '/Присваивание в [7]' incorporates: * SignalConversion generated from: '/Out1' * Switch: '/Switch' */ rty_Out1[6] = rtb_FRF_NEW; } /* End of Switch: '/Switch2' */ } /* * Output and update for atomic system: * '/g_assFLOW_BI_AMB_TGT' * '/g_assFLOW_BI_AMB_TGT' * '/g_assFLOW_BI_AMB_TGT' * '/g_assFLOW_BI_AMB_TGT' */ void g_assFLOW_BI_AMB_TGT_e(uint8_t rtu_LVL, int16_t *rty_c_g_assFLOW_BI2_AMB_TGT) { int32_t tmp; /* : c_g_assFLOW_BI2_AMB_TGT = g_assFLOW_B2I_AMB_TGT(LVL + 1); */ tmp = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp = 255; } *rty_c_g_assFLOW_BI2_AMB_TGT = g_assFLOW_B2I_AMB_TGT[tmp - 1]; } /* * Output and update for action system: * '/Bilevel2' * '/Bilevel2' */ void Bilevel2(int16_t rtu_Amb_Fb, uint8_t rtu_LVL, uint16_t rty_Out1[9], uint8_t rtu_setTempFL, uint8_t rtu_setTempFR) { int32_t tmp; int32_t tmp_0; int16_t rtb_u_jo; uint16_t rtb_FLF_NEW; uint16_t rtb_FRF_NEW; uint16_t rtb_Switch2_if1_idx_0; uint16_t rtb_Switch2_if1_idx_1; uint16_t rtb_Switch2_p4_0; int8_t rtb_X_b; uint8_t rtb_c_g_aucFLOW_BI2_FOOT_VALVE_MAX; uint8_t rtb_c_g_aucFLOW_BI2_FOOT_VALVE_MAX_l; uint8_t rtb_c_g_aucFLOW_BI2_FOOT_VALVE_MIN; uint8_t rtb_c_g_aucFLOW_BI2_FOOT_VALVE_MIN_l; uint8_t rtb_c_g_aucFLOW_BI2_VENT_VALVE_MAX; uint8_t rtb_c_g_aucFLOW_BI2_VENT_VALVE_MAX_k; uint8_t rtb_c_g_aucFLOW_BI2_VENT_VALVE_MIN; uint8_t rtb_c_g_aucFLOW_BI2_VENT_VALVE_MIN_f; /* MATLAB Function: '/get_tg_FLL_for_LVL' */ /* : c_g_assFLOW_BI2_TEMP_TGT = g_assFLOW_BI2_TEMP_TGT(LVL + 1); */ get_tg_FLL_for_LVL(rtu_LVL, rtu_setTempFL, &rtb_u_jo); /* MATLAB Function: '/g_assFLOW_BI2_TEMP_TGT_LEFT' */ tmp_0 = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp_0 = 255; } /* Sum: '/ 1' incorporates: * MATLAB Function: '/g_assFLOW_BI2_TEMP_TGT_LEFT' */ rtb_u_jo = (int16_t)(g_assFLOW_BI2_TEMP_TGT[tmp_0 - 1] - rtb_u_jo); /* Gain: '/Gain6' */ tmp_0 = 13107 * rtb_u_jo; rtb_X_b = (int8_t)(((((uint32_t)tmp_0 & 65536U) != 0U) && ((((uint32_t)tmp_0 & 65535U) != 0U) || (tmp_0 > 0))) + (tmp_0 >> 17)); /* Switch: '/Switch1' incorporates: * Gain: '/Gain6' * Sum: '/Add' */ /* : c_g_aucFLOW_BI2_FOOT_PLUS = g_aucFLOW_BI2_FOOT_PLUS(LVL + 1); */ if (rtb_X_b >= 0) { rtb_FLF_NEW = rty_Out1[4]; } else { /* MATLAB Function: '/g_aucFLOW_BI_FOOT_PLUS_LEFT' incorporates: * MATLAB Function: '/g_assFLOW_BI2_TEMP_TGT_LEFT' */ tmp_0 = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp_0 = 255; } /* Gain: '/Gain6' incorporates: * MATLAB Function: '/g_aucFLOW_BI_FOOT_PLUS_LEFT' * Product: '/Product3' */ tmp_0 = g_aucFLOW_BI2_FOOT_PLUS[tmp_0 - 1] * rtb_X_b * 13107; rtb_FLF_NEW = (uint16_t)((int16_t)rty_Out1[4] - (int8_t)(((((uint32_t)tmp_0 & 65536U) != 0U) && (((uint32_t)tmp_0 & 65535U) != 0U)) + (tmp_0 >> 17))); } /* End of Switch: '/Switch1' */ /* MATLAB Function: '/g_aucFLOW_BI_FOOT_VALVE_MAX1' incorporates: * MATLAB Function: '/g_assFLOW_BI2_TEMP_TGT_LEFT' */ /* : c_g_aucFLOW_BI2_FOOT_VALVE_MAX = g_aucFLOW_BI2_FOOT_VALVE_MAX(LVL + 1); */ tmp_0 = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp_0 = 255; } rtb_c_g_aucFLOW_BI2_FOOT_VALVE_MAX_l = g_aucFLOW_BI2_FOOT_VALVE_MAX[tmp_0 - 1]; /* End of MATLAB Function: '/g_aucFLOW_BI_FOOT_VALVE_MAX1' */ /* MATLAB Function: '/g_aucFLOW_BI_FOOT_VALVE_MIN1' incorporates: * MATLAB Function: '/g_assFLOW_BI2_TEMP_TGT_LEFT' */ /* : c_g_aucFLOW_BI2_FOOT_VALVE_MIN = g_aucFLOW_BI2_FOOT_VALVE_MIN(LVL + 1); */ tmp_0 = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp_0 = 255; } rtb_c_g_aucFLOW_BI2_FOOT_VALVE_MIN = g_aucFLOW_BI2_FOOT_VALVE_MIN[tmp_0 - 1]; /* End of MATLAB Function: '/g_aucFLOW_BI_FOOT_VALVE_MIN1' */ /* MATLAB Function: '/get_tg_FLL_for_LVL' */ /* : c_g_assFLOW_BI2_TEMP_TGT = g_assFLOW_BI2_TEMP_TGT(LVL + 1 + 6); */ get_tg_FLL_for_LVL_j(rtu_LVL, rtu_setTempFR, &rtb_u_jo); /* MATLAB Function: '/g_assFLOW_BI2_TEMP_TGT_RIGHT' incorporates: * MATLAB Function: '/g_assFLOW_BI2_TEMP_TGT_LEFT' */ tmp_0 = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp_0 = 255; } tmp = (int32_t)((uint32_t)tmp_0 + 6U); if ((uint32_t)tmp_0 + 6U > 255U) { tmp = 255; } /* Sum: '/ 1' incorporates: * MATLAB Function: '/g_assFLOW_BI2_TEMP_TGT_RIGHT' */ rtb_u_jo = (int16_t)(g_assFLOW_BI2_TEMP_TGT[tmp - 1] - rtb_u_jo); /* Gain: '/Gain6' */ tmp_0 = 13107 * rtb_u_jo; rtb_X_b = (int8_t)(((((uint32_t)tmp_0 & 65536U) != 0U) && ((((uint32_t)tmp_0 & 65535U) != 0U) || (tmp_0 > 0))) + (tmp_0 >> 17)); /* Switch: '/Switch3' incorporates: * Gain: '/Gain7' * Sum: '/Add1' */ /* : c_g_aucFLOW_BI2_FOOT_PLUS = g_aucFLOW_BI2_FOOT_PLUS(LVL + 1 + 6); */ if (rtb_X_b >= 0) { rtb_FRF_NEW = rty_Out1[6]; } else { /* MATLAB Function: '/g_aucFLOW_BI_FOOT_PLUS_RIGHT' incorporates: * MATLAB Function: '/g_assFLOW_BI2_TEMP_TGT_LEFT' */ tmp_0 = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp_0 = 255; } tmp = (int32_t)((uint32_t)tmp_0 + 6U); if ((uint32_t)tmp_0 + 6U > 255U) { tmp = 255; } /* Gain: '/Gain7' incorporates: * MATLAB Function: '/g_aucFLOW_BI_FOOT_PLUS_RIGHT' * Product: '/Product4' */ tmp_0 = g_aucFLOW_BI2_FOOT_PLUS[tmp - 1] * rtb_X_b * 13107; rtb_FRF_NEW = (uint16_t)((int16_t)rty_Out1[6] - (int8_t)(((((uint32_t)tmp_0 & 65536U) != 0U) && (((uint32_t)tmp_0 & 65535U) != 0U)) + (tmp_0 >> 17))); } /* End of Switch: '/Switch3' */ /* MATLAB Function: '/g_aucFLOW_BI_FOOT_VALVE_MAX2' incorporates: * MATLAB Function: '/g_assFLOW_BI2_TEMP_TGT_LEFT' */ /* : c_g_aucFLOW_BI2_FOOT_VALVE_MAX = g_aucFLOW_BI2_FOOT_VALVE_MAX(LVL + 1 + 6); */ tmp_0 = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp_0 = 255; } tmp = (int32_t)((uint32_t)tmp_0 + 6U); if ((uint32_t)tmp_0 + 6U > 255U) { tmp = 255; } rtb_c_g_aucFLOW_BI2_FOOT_VALVE_MAX = g_aucFLOW_BI2_FOOT_VALVE_MAX[tmp - 1]; /* End of MATLAB Function: '/g_aucFLOW_BI_FOOT_VALVE_MAX2' */ /* MATLAB Function: '/g_aucFLOW_BI_FOOT_VALVE_MIN2' incorporates: * MATLAB Function: '/g_assFLOW_BI2_TEMP_TGT_LEFT' */ /* : c_g_aucFLOW_BI2_FOOT_VALVE_MIN = g_aucFLOW_BI2_FOOT_VALVE_MIN(LVL + 1 + 6); */ tmp_0 = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp_0 = 255; } tmp = (int32_t)((uint32_t)tmp_0 + 6U); if ((uint32_t)tmp_0 + 6U > 255U) { tmp = 255; } rtb_c_g_aucFLOW_BI2_FOOT_VALVE_MIN_l = g_aucFLOW_BI2_FOOT_VALVE_MIN[tmp - 1]; /* End of MATLAB Function: '/g_aucFLOW_BI_FOOT_VALVE_MIN2' */ /* MATLAB Function: '/g_assFLOW_BI_AMB_TGT' */ /* : c_g_aucFLOW_BI2_VENT_PLUS = g_aucFLOW_BI2_VENT_PLUS(LVL + 1); */ g_assFLOW_BI_AMB_TGT_e(rtu_LVL, &rtb_u_jo); /* MATLAB Function: '/g_aucFLOW_BI_VENT_PLUS' incorporates: * MATLAB Function: '/g_assFLOW_BI2_TEMP_TGT_LEFT' */ tmp_0 = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp_0 = 255; } /* Gain: '/Gain2' incorporates: * Sum: '/deg' */ tmp = (int16_t)(rtb_u_jo - rtu_Amb_Fb) * 13107; /* Product: '/Умножили' incorporates: * Gain: '/Gain' * Gain: '/Gain2' * MATLAB Function: '/g_aucFLOW_BI_VENT_PLUS' */ rtb_u_jo = (int16_t)((int8_t)(((((uint32_t)tmp & 65536U) != 0U) && ((((uint32_t)tmp & 65535U) != 0U) || (tmp > 0))) + (tmp >> 17)) * (int32_t) ((g_aucFLOW_BI2_VENT_PLUS[tmp_0 - 1] * 205U + 1024U) >> 11)); /* DataTypeConversion: '/Data Type Conversion' incorporates: * Sum: '/ ' * Switch: '/Switch2' */ rtb_Switch2_if1_idx_0 = (uint16_t)((uint16_t)((rty_Out1[0] - rtb_u_jo) >> 1) << 1); rtb_Switch2_if1_idx_1 = (uint16_t)((uint16_t)((rty_Out1[1] - rtb_u_jo) >> 1) << 1); /* MATLAB Function: '/g_aucFLOW_BI_VENT_VALVE_MAX' incorporates: * MATLAB Function: '/g_assFLOW_BI2_TEMP_TGT_LEFT' */ /* : c_g_aucFLOW_BI2_VENT_VALVE_MAX = g_aucFLOW_BI2_VENT_VALVE_MAX(LVL + 1); */ tmp_0 = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp_0 = 255; } rtb_c_g_aucFLOW_BI2_VENT_VALVE_MAX_k = g_aucFLOW_BI2_VENT_VALVE_MAX[tmp_0 - 1]; /* End of MATLAB Function: '/g_aucFLOW_BI_VENT_VALVE_MAX' */ /* MATLAB Function: '/g_aucFLOW_BI_VENT_VALVE_MIN' incorporates: * MATLAB Function: '/g_assFLOW_BI2_TEMP_TGT_LEFT' */ /* : c_g_aucFLOW_BI2_VENT_VALVE_MIN = g_aucFLOW_BI2_VENT_VALVE_MIN(LVL + 1); */ tmp_0 = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp_0 = 255; } rtb_c_g_aucFLOW_BI2_VENT_VALVE_MIN_f = g_aucFLOW_BI2_VENT_VALVE_MIN[tmp_0 - 1]; /* End of MATLAB Function: '/g_aucFLOW_BI_VENT_VALVE_MIN' */ /* MATLAB Function: '/g_assFLOW_BI_AMB_TGT' */ /* : c_g_aucFLOW_BI2_VENT_PLUS = g_aucFLOW_BI2_VENT_PLUS(LVL + 1 + 6); */ g_assFLOW_BI_AMB_TGT_e(rtu_LVL, &rtb_u_jo); /* MATLAB Function: '/g_aucFLOW_BI_VENT_PLUS' incorporates: * MATLAB Function: '/g_assFLOW_BI2_TEMP_TGT_LEFT' */ tmp_0 = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp_0 = 255; } tmp = (int32_t)((uint32_t)tmp_0 + 6U); if ((uint32_t)tmp_0 + 6U > 255U) { tmp = 255; } /* Gain: '/Gain2' incorporates: * Sum: '/deg' */ tmp_0 = (int16_t)(rtb_u_jo - rtu_Amb_Fb) * 13107; /* Product: '/Умножили' incorporates: * Gain: '/Gain' * Gain: '/Gain2' * MATLAB Function: '/g_aucFLOW_BI_VENT_PLUS' */ rtb_u_jo = (int16_t)((int8_t)(((((uint32_t)tmp_0 & 65536U) != 0U) && ((((uint32_t)tmp_0 & 65535U) != 0U) || (tmp_0 > 0))) + (tmp_0 >> 17)) * (int32_t)((g_aucFLOW_BI2_VENT_PLUS[tmp - 1] * 205U + 1024U) >> 11)); /* MATLAB Function: '/g_aucFLOW_BI_VENT_VALVE_MAX' incorporates: * MATLAB Function: '/g_assFLOW_BI2_TEMP_TGT_LEFT' */ /* : c_g_aucFLOW_BI2_VENT_VALVE_MAX = g_aucFLOW_BI2_VENT_VALVE_MAX(LVL + 1 + 6); */ tmp_0 = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp_0 = 255; } tmp = (int32_t)((uint32_t)tmp_0 + 6U); if ((uint32_t)tmp_0 + 6U > 255U) { tmp = 255; } rtb_c_g_aucFLOW_BI2_VENT_VALVE_MAX = g_aucFLOW_BI2_VENT_VALVE_MAX[tmp - 1]; /* End of MATLAB Function: '/g_aucFLOW_BI_VENT_VALVE_MAX' */ /* MATLAB Function: '/g_aucFLOW_BI_VENT_VALVE_MIN' incorporates: * MATLAB Function: '/g_assFLOW_BI2_TEMP_TGT_LEFT' */ /* : c_g_aucFLOW_BI2_VENT_VALVE_MIN = g_aucFLOW_BI2_VENT_VALVE_MIN(LVL + 1 + 6); */ tmp_0 = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp_0 = 255; } tmp = (int32_t)((uint32_t)tmp_0 + 6U); if ((uint32_t)tmp_0 + 6U > 255U) { tmp = 255; } rtb_c_g_aucFLOW_BI2_VENT_VALVE_MIN = g_aucFLOW_BI2_VENT_VALVE_MIN[tmp - 1]; /* End of MATLAB Function: '/g_aucFLOW_BI_VENT_VALVE_MIN' */ /* DataTypeConversion: '/Data Type Conversion' incorporates: * Sum: '/ ' * Switch: '/Switch2' */ rtb_Switch2_p4_0 = (uint16_t)((uint16_t)((rty_Out1[0] - rtb_u_jo) >> 1) << 1); /* Switch: '/Switch2' incorporates: * RelationalOperator: '/LowerRelop1' * RelationalOperator: '/UpperRelop' * Switch: '/Switch' */ if (rtb_Switch2_if1_idx_0 > rtb_c_g_aucFLOW_BI2_VENT_VALVE_MAX_k) { /* Assignment: '/Присваивание в [1-2]' incorporates: * SignalConversion generated from: '/Out1' */ rty_Out1[0] = rtb_c_g_aucFLOW_BI2_VENT_VALVE_MAX_k; } else if (rtb_Switch2_if1_idx_0 < rtb_c_g_aucFLOW_BI2_VENT_VALVE_MIN_f) { /* Switch: '/Switch' incorporates: * Assignment: '/Присваивание в [1-2]' * SignalConversion generated from: '/Out1' */ rty_Out1[0] = rtb_c_g_aucFLOW_BI2_VENT_VALVE_MIN_f; } else { /* Assignment: '/Присваивание в [1-2]' incorporates: * SignalConversion generated from: '/Out1' * Switch: '/Switch' */ rty_Out1[0] = rtb_Switch2_if1_idx_0; } /* Switch: '/Switch2' incorporates: * RelationalOperator: '/LowerRelop1' * RelationalOperator: '/UpperRelop' * Switch: '/Switch' */ if (rtb_Switch2_p4_0 > rtb_c_g_aucFLOW_BI2_VENT_VALVE_MAX) { /* Assignment: '/Присваивание в [3-4]' incorporates: * SignalConversion generated from: '/Out1' */ rty_Out1[2] = rtb_c_g_aucFLOW_BI2_VENT_VALVE_MAX; } else if (rtb_Switch2_p4_0 < rtb_c_g_aucFLOW_BI2_VENT_VALVE_MIN) { /* Switch: '/Switch' incorporates: * Assignment: '/Присваивание в [3-4]' * SignalConversion generated from: '/Out1' */ rty_Out1[2] = rtb_c_g_aucFLOW_BI2_VENT_VALVE_MIN; } else { /* Assignment: '/Присваивание в [3-4]' incorporates: * SignalConversion generated from: '/Out1' * Switch: '/Switch' */ rty_Out1[2] = rtb_Switch2_p4_0; } /* DataTypeConversion: '/Data Type Conversion' incorporates: * Sum: '/ ' * Switch: '/Switch2' */ rtb_Switch2_p4_0 = (uint16_t)((uint16_t)((rty_Out1[1] - rtb_u_jo) >> 1) << 1); /* Switch: '/Switch2' incorporates: * RelationalOperator: '/LowerRelop1' * RelationalOperator: '/UpperRelop' * Switch: '/Switch' */ if (rtb_Switch2_if1_idx_1 > rtb_c_g_aucFLOW_BI2_VENT_VALVE_MAX_k) { /* Assignment: '/Присваивание в [1-2]' incorporates: * SignalConversion generated from: '/Out1' */ rty_Out1[1] = rtb_c_g_aucFLOW_BI2_VENT_VALVE_MAX_k; } else if (rtb_Switch2_if1_idx_1 < rtb_c_g_aucFLOW_BI2_VENT_VALVE_MIN_f) { /* Switch: '/Switch' incorporates: * Assignment: '/Присваивание в [1-2]' * SignalConversion generated from: '/Out1' */ rty_Out1[1] = rtb_c_g_aucFLOW_BI2_VENT_VALVE_MIN_f; } else { /* Assignment: '/Присваивание в [1-2]' incorporates: * SignalConversion generated from: '/Out1' * Switch: '/Switch' */ rty_Out1[1] = rtb_Switch2_if1_idx_1; } /* Switch: '/Switch2' incorporates: * RelationalOperator: '/LowerRelop1' * RelationalOperator: '/UpperRelop' * Switch: '/Switch' */ if (rtb_Switch2_p4_0 > rtb_c_g_aucFLOW_BI2_VENT_VALVE_MAX) { /* Assignment: '/Присваивание в [3-4]' incorporates: * SignalConversion generated from: '/Out1' */ rty_Out1[3] = rtb_c_g_aucFLOW_BI2_VENT_VALVE_MAX; } else if (rtb_Switch2_p4_0 < rtb_c_g_aucFLOW_BI2_VENT_VALVE_MIN) { /* Switch: '/Switch' incorporates: * Assignment: '/Присваивание в [3-4]' * SignalConversion generated from: '/Out1' */ rty_Out1[3] = rtb_c_g_aucFLOW_BI2_VENT_VALVE_MIN; } else { /* Assignment: '/Присваивание в [3-4]' incorporates: * SignalConversion generated from: '/Out1' * Switch: '/Switch' */ rty_Out1[3] = rtb_Switch2_p4_0; } /* Switch: '/Switch2' incorporates: * RelationalOperator: '/LowerRelop1' * RelationalOperator: '/UpperRelop' * Switch: '/Switch' */ if (rtb_FLF_NEW > rtb_c_g_aucFLOW_BI2_FOOT_VALVE_MAX_l) { /* Assignment: '/Присваивание в [5]' incorporates: * SignalConversion generated from: '/Out1' */ rty_Out1[4] = rtb_c_g_aucFLOW_BI2_FOOT_VALVE_MAX_l; } else if (rtb_FLF_NEW < rtb_c_g_aucFLOW_BI2_FOOT_VALVE_MIN) { /* Switch: '/Switch' incorporates: * Assignment: '/Присваивание в [5]' * SignalConversion generated from: '/Out1' */ rty_Out1[4] = rtb_c_g_aucFLOW_BI2_FOOT_VALVE_MIN; } else { /* Assignment: '/Присваивание в [5]' incorporates: * SignalConversion generated from: '/Out1' * Switch: '/Switch' */ rty_Out1[4] = rtb_FLF_NEW; } /* End of Switch: '/Switch2' */ /* Switch: '/Switch2' incorporates: * RelationalOperator: '/LowerRelop1' * RelationalOperator: '/UpperRelop' * Switch: '/Switch' */ if (rtb_FRF_NEW > rtb_c_g_aucFLOW_BI2_FOOT_VALVE_MAX) { /* Assignment: '/Присваивание в [7]' incorporates: * SignalConversion generated from: '/Out1' */ rty_Out1[6] = rtb_c_g_aucFLOW_BI2_FOOT_VALVE_MAX; } else if (rtb_FRF_NEW < rtb_c_g_aucFLOW_BI2_FOOT_VALVE_MIN_l) { /* Switch: '/Switch' incorporates: * Assignment: '/Присваивание в [7]' * SignalConversion generated from: '/Out1' */ rty_Out1[6] = rtb_c_g_aucFLOW_BI2_FOOT_VALVE_MIN_l; } else { /* Assignment: '/Присваивание в [7]' incorporates: * SignalConversion generated from: '/Out1' * Switch: '/Switch' */ rty_Out1[6] = rtb_FRF_NEW; } /* End of Switch: '/Switch2' */ } /* * Output and update for atomic system: * '/g_aucFLOW_AF_FOOT_VALVE_MAX' * '/g_aucFLOW_AF_FOOT_VALVE_MAX' * '/g_aucFLOW_AF_FOOT_VALVE_MAX' * '/g_aucFLOW_AF_FOOT_VALVE_MAX' */ void g_aucFLOW_AF_FOOT_VALVE_MAX_e(uint8_t rtu_LVL, uint8_t *rty_c_g_aucFLOW_AF_FOOT_VALVE_MAX) { int32_t tmp; /* : c_g_aucFLOW_AF_FOOT_VALVE_MAX = g_aucFLOW_AF_FOOT_VALVE_MAX(LVL + 1); */ tmp = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp = 255; } *rty_c_g_aucFLOW_AF_FOOT_VALVE_MAX = g_aucFLOW_AF_FOOT_VALVE_MAX[tmp - 1]; } /* * Output and update for atomic system: * '/g_assFLOW_AF_AMB_TGT' * '/g_assFLOW_AF_AMB_TGT' * '/g_assFLOW_AF_AMB_TGT' * '/g_assFLOW_AF_AMB_TGT' * '/g_assFLOW_AF_AMB_TGT' * '/g_assFLOW_AF_AMB_TGT' */ void g_assFLOW_AF_AMB_TGT_g(uint8_t rtu_LVL, int16_t *rty_c_g_assFLOW_AF_AMB_TGT) { int32_t tmp; /* : c_g_assFLOW_AF_AMB_TGT = g_assFLOW_AF_AMB_TGT(LVL + 1); */ tmp = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp = 255; } *rty_c_g_assFLOW_AF_AMB_TGT = g_assFLOW_AF_AMB_TGT[tmp - 1]; } /* * Output and update for action system: * '/Afoot' * '/Afoot' */ void Afoot(int16_t rtu_Amb_Fb, uint8_t rtu_LVL, uint16_t rty_Out1[9], uint8_t rtu_setTempFL, uint8_t rtu_setTempFR) { int32_t i; int32_t tmp_0; uint32_t qY; int16_t tmp[78]; int16_t rtb_deg_en; uint16_t rtb_FLF_NEW; uint16_t rtb_FRF_NEW; uint16_t rtb_Switch2_ar_idx_0; uint16_t rtb_Switch2_ar_idx_1; uint16_t rtb_Switch2_j_idx_0; uint16_t rtb_Switch2_j_idx_1; int8_t rtb_X_c; uint8_t rtb_c_g_aucFLOW_AF_FOOT_VALVE_MAX; uint8_t rtb_c_g_aucFLOW_AF_VENT_VALVE_MAX_k; /* MATLAB Function: '/get_tg_for_LVL' */ /* : c_g_aucFLOW_AF_BLR_AF_TGT = g_aucFLOW_AF_BLR_AF_TGT(LVL + 1); */ /* : table = [ */ /* : g_assVTG_FL_LV0; */ /* : g_assVTG_FL_LV1; */ /* : g_assVTG_FL_LV2; */ /* : g_assVTG_FL_LV3; */ /* : g_assVTG_FL_LV4; */ /* : g_assVTG_FL_LV5 */ /* : ]; */ /* : vals = table(ambient_Lvl + 1, set_tmp - 16); */ for (i = 0; i < 13; i++) { tmp[6 * i] = g_assVTG_FL_LV0[i]; tmp[6 * i + 1] = g_assVTG_FL_LV1[i]; tmp[6 * i + 2] = g_assVTG_FL_LV2[i]; tmp[6 * i + 3] = g_assVTG_FL_LV3[i]; tmp[6 * i + 4] = g_assVTG_FL_LV4[i]; tmp[6 * i + 5] = g_assVTG_FL_LV5[i]; } /* MATLAB Function: '/g_assFLOW_BI2_TEMP_TGT_LEFT' */ i = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { i = 255; } /* MATLAB Function: '/get_tg_for_LVL' incorporates: * MATLAB Function: '/g_assFLOW_BI2_TEMP_TGT_LEFT' */ tmp_0 = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp_0 = 255; } /* MW:begin MISRA2012:D4.1 CERT-C:INT30-C 'Justifying MISRA CPP rule violation' */ qY = rtu_setTempFL - 16U; /* MW:end MISRA2012:D4.1 CERT-C:INT30-C */ if (rtu_setTempFL - 16U > rtu_setTempFL) { qY = 0U; } /* Gain: '/Gain6' incorporates: * MATLAB Function: '/g_assFLOW_BI2_TEMP_TGT_LEFT' * MATLAB Function: '/get_tg_for_LVL' * Sum: '/ 1' */ i = (int16_t)(g_aucFLOW_AF_BLR_AF_TGT[i - 1] - tmp[(((int32_t)qY - 1) * 6 + tmp_0) - 1]) * 13107; rtb_X_c = (int8_t)(((((uint32_t)i & 65536U) != 0U) && ((((uint32_t)i & 65535U) != 0U) || (i > 0))) + (i >> 17)); /* Switch: '/Switch1' incorporates: * Gain: '/Gain6' * Sum: '/Add' */ /* : c_g_aucFLOW_AF_FOOT_PLUS = g_aucFLOW_AF_FOOT_PLUS(LVL + 1); */ if (rtb_X_c >= 0) { rtb_FLF_NEW = rty_Out1[4]; } else { /* MATLAB Function: '/g_aucFLOW_AF_FOOT_PLUS' incorporates: * MATLAB Function: '/g_assFLOW_BI2_TEMP_TGT_LEFT' */ i = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { i = 255; } /* Gain: '/Gain6' incorporates: * MATLAB Function: '/g_aucFLOW_AF_FOOT_PLUS' * Product: '/Product3' */ i = g_aucFLOW_AF_FOOT_PLUS[i - 1] * rtb_X_c * 13107; rtb_FLF_NEW = (uint16_t)((int16_t)rty_Out1[4] - (int8_t)(((((uint32_t)i & 65536U) != 0U) && (((uint32_t)i & 65535U) != 0U)) + (i >> 17))); } /* End of Switch: '/Switch1' */ /* MATLAB Function: '/g_aucFLOW_AF_FOOT_VALVE_MAX' */ g_aucFLOW_AF_FOOT_VALVE_MAX_e(rtu_LVL, &rtb_c_g_aucFLOW_AF_FOOT_VALVE_MAX); /* Switch: '/Switch2' incorporates: * RelationalOperator: '/LowerRelop1' */ if (rtb_FLF_NEW > rtb_c_g_aucFLOW_AF_FOOT_VALVE_MAX) { rtb_FLF_NEW = rtb_c_g_aucFLOW_AF_FOOT_VALVE_MAX; } /* End of Switch: '/Switch2' */ /* MATLAB Function: '/get_vtg_for_LVL' */ /* : c_g_aucFLOW_AF_BLR_AF_TGT = g_aucFLOW_AF_BLR_AF_TGT(LVL + 1); */ /* : table = [ */ /* : g_assVTG_FR_LV0; */ /* : g_assVTG_FR_LV1; */ /* : g_assVTG_FR_LV2; */ /* : g_assVTG_FR_LV3; */ /* : g_assVTG_FR_LV4; */ /* : g_assVTG_FR_LV5 */ /* : ]; */ /* : vals = table(ambient_Lvl + 1, set_tmp - 16); */ for (i = 0; i < 13; i++) { tmp[6 * i] = g_assVTG_FR_LV0[i]; tmp[6 * i + 1] = g_assVTG_FR_LV1[i]; tmp[6 * i + 2] = g_assVTG_FR_LV2[i]; tmp[6 * i + 3] = g_assVTG_FR_LV3[i]; tmp[6 * i + 4] = g_assVTG_FR_LV4[i]; tmp[6 * i + 5] = g_assVTG_FR_LV5[i]; } /* MATLAB Function: '/g_aucFLOW_AF_BLR_AF_TGT' incorporates: * MATLAB Function: '/g_assFLOW_BI2_TEMP_TGT_LEFT' */ i = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { i = 255; } /* MATLAB Function: '/get_vtg_for_LVL' incorporates: * MATLAB Function: '/g_assFLOW_BI2_TEMP_TGT_LEFT' */ tmp_0 = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp_0 = 255; } qY = rtu_setTempFR - 16U; if (rtu_setTempFR - 16U > rtu_setTempFR) { qY = 0U; } /* Sum: '/ 1' incorporates: * MATLAB Function: '/g_aucFLOW_AF_BLR_AF_TGT' * MATLAB Function: '/get_vtg_for_LVL' */ rtb_deg_en = (int16_t)(g_aucFLOW_AF_BLR_AF_TGT[i - 1] - tmp[(((int32_t)qY - 1) * 6 + tmp_0) - 1]); /* Gain: '/Gain6' */ i = 13107 * rtb_deg_en; rtb_X_c = (int8_t)(((((uint32_t)i & 65536U) != 0U) && ((((uint32_t)i & 65535U) != 0U) || (i > 0))) + (i >> 17)); /* Switch: '/Switch3' incorporates: * Gain: '/Gain7' * Sum: '/Add1' */ /* : c_g_aucFLOW_AF_FOOT_PLUS = g_aucFLOW_AF_FOOT_PLUS(LVL + 1 + 6); */ if (rtb_X_c >= 0) { rtb_FRF_NEW = rty_Out1[6]; } else { /* MATLAB Function: '/g_aucFLOW_AF_FOOT_PLUS' incorporates: * MATLAB Function: '/g_assFLOW_BI2_TEMP_TGT_LEFT' */ i = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { i = 255; } tmp_0 = (int32_t)((uint32_t)i + 6U); if ((uint32_t)i + 6U > 255U) { tmp_0 = 255; } /* Gain: '/Gain7' incorporates: * MATLAB Function: '/g_aucFLOW_AF_FOOT_PLUS' * Product: '/Product4' */ i = g_aucFLOW_AF_FOOT_PLUS[tmp_0 - 1] * rtb_X_c * 13107; rtb_FRF_NEW = (uint16_t)((int16_t)rty_Out1[6] - (int8_t)(((((uint32_t)i & 65536U) != 0U) && (((uint32_t)i & 65535U) != 0U)) + (i >> 17))); } /* End of Switch: '/Switch3' */ /* MATLAB Function: '/g_aucFLOW_AF_FOOT_VALVE_MAX' */ g_aucFLOW_AF_FOOT_VALVE_MAX_e(rtu_LVL, &rtb_c_g_aucFLOW_AF_FOOT_VALVE_MAX); /* MATLAB Function: '/g_assFLOW_AF_AMB_TGT' */ /* : c_g_aucFLOW_AF_VENT_PLUS = g_aucFLOW_AF_VENT_PLUS(LVL + 1); */ g_assFLOW_AF_AMB_TGT_g(rtu_LVL, &rtb_deg_en); /* Sum: '/deg' */ rtb_deg_en -= rtu_Amb_Fb; /* Gain: '/Gain2' */ i = 13107 * rtb_deg_en; rtb_X_c = (int8_t)(((((uint32_t)i & 65536U) != 0U) && ((((uint32_t)i & 65535U) != 0U) || (i > 0))) + (i >> 17)); /* Switch: '/if (deg < 0)' incorporates: * Sum: '/ ' * Switch: '/Switch2' */ if (rtb_X_c >= 0) { rtb_Switch2_ar_idx_0 = rty_Out1[0]; rtb_Switch2_ar_idx_1 = rty_Out1[1]; } else { /* MATLAB Function: '/g_aucFLOW_AF_VENT_PLUS' incorporates: * MATLAB Function: '/g_assFLOW_BI2_TEMP_TGT_LEFT' */ i = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { i = 255; } /* Product: '/Умножили' incorporates: * Gain: '/Gain' * MATLAB Function: '/g_aucFLOW_AF_VENT_PLUS' */ rtb_deg_en = (int16_t)((int32_t)((g_aucFLOW_AF_VENT_PLUS[i - 1] * 205U + 1024U) >> 11) * rtb_X_c); rtb_Switch2_ar_idx_0 = (uint16_t)(rty_Out1[0] - rtb_deg_en); rtb_Switch2_ar_idx_1 = (uint16_t)(rty_Out1[1] - rtb_deg_en); } /* End of Switch: '/if (deg < 0)' */ /* MATLAB Function: '/g_aucFLOW_AF_VENT_VALVE_MAX' incorporates: * MATLAB Function: '/g_assFLOW_BI2_TEMP_TGT_LEFT' */ /* : c_g_aucFLOW_AF_VENT_VALVE_MAX = g_aucFLOW_AF_VENT_VALVE_MAX(LVL + 1); */ i = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { i = 255; } rtb_c_g_aucFLOW_AF_VENT_VALVE_MAX_k = g_aucFLOW_AF_VENT_VALVE_MAX[i - 1]; /* End of MATLAB Function: '/g_aucFLOW_AF_VENT_VALVE_MAX' */ /* Switch: '/Switch2' incorporates: * RelationalOperator: '/LowerRelop1' */ if (rtb_Switch2_ar_idx_0 > rtb_c_g_aucFLOW_AF_VENT_VALVE_MAX_k) { rtb_Switch2_ar_idx_0 = rtb_c_g_aucFLOW_AF_VENT_VALVE_MAX_k; } if (rtb_Switch2_ar_idx_1 > rtb_c_g_aucFLOW_AF_VENT_VALVE_MAX_k) { rtb_Switch2_ar_idx_1 = rtb_c_g_aucFLOW_AF_VENT_VALVE_MAX_k; } /* End of Switch: '/Switch2' */ /* MATLAB Function: '/g_assFLOW_AF_AMB_TGT' */ /* : c_g_aucFLOW_AF_VENT_PLUS = g_aucFLOW_AF_VENT_PLUS(LVL + 1 + 6); */ g_assFLOW_AF_AMB_TGT_g(rtu_LVL, &rtb_deg_en); /* Gain: '/Gain2' incorporates: * Sum: '/deg' */ i = (int16_t)(rtb_deg_en - rtu_Amb_Fb) * 13107; rtb_X_c = (int8_t)(((((uint32_t)i & 65536U) != 0U) && ((((uint32_t)i & 65535U) != 0U) || (i > 0))) + (i >> 17)); /* Switch: '/if (deg < 0)' incorporates: * DataTypeConversion: '/Data Type Conversion' * Sum: '/ ' * Switch: '/Switch2' */ if (rtb_X_c >= 0) { rtb_Switch2_j_idx_0 = rty_Out1[0]; rtb_Switch2_j_idx_1 = rty_Out1[1]; } else { /* MATLAB Function: '/g_aucFLOW_AF_VENT_PLUS' incorporates: * MATLAB Function: '/g_assFLOW_BI2_TEMP_TGT_LEFT' */ i = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { i = 255; } tmp_0 = (int32_t)((uint32_t)i + 6U); if ((uint32_t)i + 6U > 255U) { tmp_0 = 255; } /* Product: '/Умножили' incorporates: * Gain: '/Gain' * MATLAB Function: '/g_aucFLOW_AF_VENT_PLUS' */ rtb_deg_en = (int16_t)((int32_t)((g_aucFLOW_AF_VENT_PLUS[tmp_0 - 1] * 205U + 1024U) >> 11) * rtb_X_c); rtb_Switch2_j_idx_0 = (uint16_t)((int16_t)rty_Out1[0] - rtb_deg_en); rtb_Switch2_j_idx_1 = (uint16_t)((int16_t)rty_Out1[1] - rtb_deg_en); } /* End of Switch: '/if (deg < 0)' */ /* MATLAB Function: '/g_aucFLOW_AF_VENT_VALVE_MAX' incorporates: * MATLAB Function: '/g_assFLOW_BI2_TEMP_TGT_LEFT' */ /* : c_g_aucFLOW_AF_VENT_VALVE_MAX = g_aucFLOW_AF_VENT_VALVE_MAX(LVL + 1 + 6); */ i = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { i = 255; } tmp_0 = (int32_t)((uint32_t)i + 6U); if ((uint32_t)i + 6U > 255U) { tmp_0 = 255; } rtb_c_g_aucFLOW_AF_VENT_VALVE_MAX_k = g_aucFLOW_AF_VENT_VALVE_MAX[tmp_0 - 1]; /* End of MATLAB Function: '/g_aucFLOW_AF_VENT_VALVE_MAX' */ /* Assignment: '/Присваивание в [1-2]' incorporates: * SignalConversion generated from: '/Out1' * Switch: '/Switch2' */ rty_Out1[0] = rtb_Switch2_ar_idx_0; /* Switch: '/Switch2' incorporates: * RelationalOperator: '/LowerRelop1' */ if (rtb_Switch2_j_idx_0 > rtb_c_g_aucFLOW_AF_VENT_VALVE_MAX_k) { /* Assignment: '/Присваивание в [3-4]' incorporates: * SignalConversion generated from: '/Out1' */ rty_Out1[2] = rtb_c_g_aucFLOW_AF_VENT_VALVE_MAX_k; } else { /* Assignment: '/Присваивание в [3-4]' incorporates: * SignalConversion generated from: '/Out1' */ rty_Out1[2] = rtb_Switch2_j_idx_0; } /* Assignment: '/Присваивание в [1-2]' incorporates: * SignalConversion generated from: '/Out1' * Switch: '/Switch2' */ rty_Out1[1] = rtb_Switch2_ar_idx_1; /* Switch: '/Switch2' incorporates: * RelationalOperator: '/LowerRelop1' */ if (rtb_Switch2_j_idx_1 > rtb_c_g_aucFLOW_AF_VENT_VALVE_MAX_k) { /* Assignment: '/Присваивание в [3-4]' incorporates: * SignalConversion generated from: '/Out1' */ rty_Out1[3] = rtb_c_g_aucFLOW_AF_VENT_VALVE_MAX_k; } else { /* Assignment: '/Присваивание в [3-4]' incorporates: * SignalConversion generated from: '/Out1' */ rty_Out1[3] = rtb_Switch2_j_idx_1; } /* Assignment: '/Присваивание в [5]' incorporates: * SignalConversion generated from: '/Out1' */ rty_Out1[4] = rtb_FLF_NEW; /* Switch: '/Switch2' incorporates: * RelationalOperator: '/LowerRelop1' */ if (rtb_FRF_NEW > rtb_c_g_aucFLOW_AF_FOOT_VALVE_MAX) { /* Assignment: '/Присваивание в [7]' incorporates: * SignalConversion generated from: '/Out1' */ rty_Out1[6] = rtb_c_g_aucFLOW_AF_FOOT_VALVE_MAX; } else { /* Assignment: '/Присваивание в [7]' incorporates: * SignalConversion generated from: '/Out1' * Switch: '/Switch' */ rty_Out1[6] = rtb_FRF_NEW; } /* End of Switch: '/Switch2' */ } /* * Output and update for atomic system: * '/g_aucFLOW_AFSM_FOOT_VALVE_MAX' * '/g_aucFLOW_AF_FOOT_VALVE_MAX' * '/g_aucFLOW_AFSM_FOOT_VALVE_MAX' * '/g_aucFLOW_AF_FOOT_VALVE_MAX' */ void g_aucFLOW_AFSM_FOOT_VALVE_MAX_f(uint8_t rtu_LVL, uint8_t *rty_c_g_aucFLOW_AFSM_FOOT_VALVE_MAX) { int32_t tmp; /* : c_g_aucFLOW_AFSM_FOOT_VALVE_MAX = g_aucFLOW_AFSM_FOOT_VALVE_MAX(LVL + 1); */ tmp = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp = 255; } *rty_c_g_aucFLOW_AFSM_FOOT_VALVE_MAX = g_aucFLOW_AFSM_FOOT_VALVE_MAX[tmp - 1]; } /* * Output and update for action system: * '/Afoot_Summer' * '/Afoot_Summer' */ void Afoot_Summer(int16_t rtu_Amb_Fb, uint8_t rtu_LVL, uint16_t rty_Out1[9], uint8_t rtu_setTempFL, uint8_t rtu_setTempFR) { int32_t tmp; int32_t tmp_0; int16_t rtb_deg_c; uint16_t rtb_FLF_NEW; uint16_t rtb_FRF_NEW; uint16_t rtb_Switch2_j1_idx_0; uint16_t rtb_Switch2_j1_idx_1; uint16_t rtb_Switch2_lt_idx_0; uint16_t rtb_Switch2_lt_idx_1; int8_t rtb_X_m; uint8_t rtb_c_g_aucFLOW_AFSM_FOOT_VALVE_MAX; uint8_t rtb_c_g_aucFLOW_AFSM_VENT_VALVE_MAX_g; /* MATLAB Function: '/get_tg_for_LVL' */ /* : c_g_assFLOW_AFSM_TEMP_TGT = g_assFLOW_AFSM_TEMP_TGT(LVL + 1); */ get_tg_FLL_for_LVL(rtu_LVL, rtu_setTempFL, &rtb_deg_c); /* MATLAB Function: '/g_assFLOW_AFSM_TEMP_TGT_LEFT' */ tmp_0 = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp_0 = 255; } /* Sum: '/ 1' incorporates: * MATLAB Function: '/g_assFLOW_AFSM_TEMP_TGT_LEFT' */ rtb_deg_c = (int16_t)(g_assFLOW_AFSM_TEMP_TGT[tmp_0 - 1] - rtb_deg_c); /* Gain: '/Gain6' */ tmp_0 = 13107 * rtb_deg_c; rtb_X_m = (int8_t)(((((uint32_t)tmp_0 & 65536U) != 0U) && ((((uint32_t)tmp_0 & 65535U) != 0U) || (tmp_0 > 0))) + (tmp_0 >> 17)); /* Switch: '/Switch1' incorporates: * Gain: '/Gain6' * Sum: '/Add' */ /* : c_g_aucFLOW_AFSM_FOOT_PLUS = g_aucFLOW_AFSM_FOOT_PLUS(LVL + 1); */ if (rtb_X_m >= 0) { rtb_FLF_NEW = rty_Out1[4]; } else { /* MATLAB Function: '/g_aucFLOW_AFSM_FOOT_PLUS' incorporates: * MATLAB Function: '/g_assFLOW_AFSM_TEMP_TGT_LEFT' */ tmp_0 = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp_0 = 255; } /* Gain: '/Gain6' incorporates: * MATLAB Function: '/g_aucFLOW_AFSM_FOOT_PLUS' * Product: '/Product3' */ tmp_0 = g_aucFLOW_AFSM_FOOT_PLUS[tmp_0 - 1] * rtb_X_m * 13107; rtb_FLF_NEW = (uint16_t)((int16_t)rty_Out1[4] - (int8_t)(((((uint32_t)tmp_0 & 65536U) != 0U) && (((uint32_t)tmp_0 & 65535U) != 0U)) + (tmp_0 >> 17))); } /* End of Switch: '/Switch1' */ /* MATLAB Function: '/g_aucFLOW_AFSM_FOOT_VALVE_MAX' */ g_aucFLOW_AFSM_FOOT_VALVE_MAX_f(rtu_LVL, &rtb_c_g_aucFLOW_AFSM_FOOT_VALVE_MAX); /* Switch: '/Switch2' incorporates: * RelationalOperator: '/LowerRelop1' */ if (rtb_FLF_NEW > rtb_c_g_aucFLOW_AFSM_FOOT_VALVE_MAX) { rtb_FLF_NEW = rtb_c_g_aucFLOW_AFSM_FOOT_VALVE_MAX; } /* End of Switch: '/Switch2' */ /* MATLAB Function: '/get_tg_FLL_for_LVL' */ /* : c_g_assFLOW_AFSM_TEMP_TGT = g_assFLOW_AFSM_TEMP_TGT(LVL + 1 + 6); */ get_tg_FLL_for_LVL_j(rtu_LVL, rtu_setTempFR, &rtb_deg_c); /* MATLAB Function: '/g_assFLOW_AFSM_TEMP_TGT' incorporates: * MATLAB Function: '/g_assFLOW_AFSM_TEMP_TGT_LEFT' */ tmp_0 = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp_0 = 255; } tmp = (int32_t)((uint32_t)tmp_0 + 6U); if ((uint32_t)tmp_0 + 6U > 255U) { tmp = 255; } /* Gain: '/Gain6' incorporates: * MATLAB Function: '/g_assFLOW_AFSM_TEMP_TGT' * Sum: '/ 1' */ tmp_0 = (int16_t)(g_assFLOW_AFSM_TEMP_TGT[tmp - 1] - rtb_deg_c) * 13107; rtb_X_m = (int8_t)(((((uint32_t)tmp_0 & 65536U) != 0U) && ((((uint32_t)tmp_0 & 65535U) != 0U) || (tmp_0 > 0))) + (tmp_0 >> 17)); /* Switch: '/Switch3' incorporates: * Gain: '/Gain7' * Sum: '/Add1' */ /* : c_g_aucFLOW_AFSM_FOOT_PLUS = g_aucFLOW_AFSM_FOOT_PLUS(LVL + 1 + 6); */ if (rtb_X_m >= 0) { rtb_FRF_NEW = rty_Out1[6]; } else { /* MATLAB Function: '/g_aucFLOW_AFSM_FOOT_PLUS' incorporates: * MATLAB Function: '/g_assFLOW_AFSM_TEMP_TGT_LEFT' */ tmp_0 = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp_0 = 255; } tmp = (int32_t)((uint32_t)tmp_0 + 6U); if ((uint32_t)tmp_0 + 6U > 255U) { tmp = 255; } /* Gain: '/Gain7' incorporates: * MATLAB Function: '/g_aucFLOW_AFSM_FOOT_PLUS' * Product: '/Product4' */ tmp_0 = g_aucFLOW_AFSM_FOOT_PLUS[tmp - 1] * rtb_X_m * 13107; rtb_FRF_NEW = (uint16_t)((int16_t)rty_Out1[6] - (int8_t)(((((uint32_t)tmp_0 & 65536U) != 0U) && (((uint32_t)tmp_0 & 65535U) != 0U)) + (tmp_0 >> 17))); } /* End of Switch: '/Switch3' */ /* MATLAB Function: '/g_aucFLOW_AF_FOOT_VALVE_MAX' */ g_aucFLOW_AFSM_FOOT_VALVE_MAX_f(rtu_LVL, &rtb_c_g_aucFLOW_AFSM_FOOT_VALVE_MAX); /* MATLAB Function: '/g_assFLOW_AFSM_AMB_TGT' incorporates: * MATLAB Function: '/g_assFLOW_AFSM_TEMP_TGT_LEFT' */ /* : c_g_aucFLOW_AFSM_VENT_PLUS = g_aucFLOW_AFSM_VENT_PLUS(LVL + 1); */ /* : c_g_assFLOW_AFSM_AMB_TGT = g_assFLOW_AFSM_AMB_TGT(LVL + 1); */ tmp_0 = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp_0 = 255; } /* Sum: '/deg' incorporates: * MATLAB Function: '/g_assFLOW_AFSM_AMB_TGT' */ rtb_deg_c = (int16_t)(g_assFLOW_AFSM_AMB_TGT[tmp_0 - 1] - rtu_Amb_Fb); /* Gain: '/Gain2' */ tmp_0 = 13107 * rtb_deg_c; rtb_X_m = (int8_t)(((((uint32_t)tmp_0 & 65536U) != 0U) && ((((uint32_t)tmp_0 & 65535U) != 0U) || (tmp_0 > 0))) + (tmp_0 >> 17)); /* Switch: '/if (deg < 0)' incorporates: * Sum: '/ ' * Switch: '/Switch2' */ if (rtb_X_m >= 0) { rtb_Switch2_lt_idx_0 = rty_Out1[0]; rtb_Switch2_lt_idx_1 = rty_Out1[1]; } else { /* MATLAB Function: '/g_aucFLOW_AFSM_VENT_PLUS' incorporates: * MATLAB Function: '/g_assFLOW_AFSM_TEMP_TGT_LEFT' */ tmp_0 = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp_0 = 255; } /* Product: '/Умножили' incorporates: * Gain: '/Gain' * MATLAB Function: '/g_aucFLOW_AFSM_VENT_PLUS' */ rtb_deg_c = (int16_t)((int32_t)((g_aucFLOW_AFSM_VENT_PLUS[tmp_0 - 1] * 205U + 1024U) >> 11) * rtb_X_m); rtb_Switch2_lt_idx_0 = (uint16_t)(rty_Out1[0] - rtb_deg_c); rtb_Switch2_lt_idx_1 = (uint16_t)(rty_Out1[1] - rtb_deg_c); } /* End of Switch: '/if (deg < 0)' */ /* MATLAB Function: '/g_aucFLOW_AF_VENT_VALVE_MAX' incorporates: * MATLAB Function: '/g_assFLOW_AFSM_TEMP_TGT_LEFT' */ /* : c_g_aucFLOW_AFSM_VENT_VALVE_MAX = g_aucFLOW_AFSM_VENT_VALVE_MAX(LVL + 1); */ tmp_0 = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp_0 = 255; } rtb_c_g_aucFLOW_AFSM_VENT_VALVE_MAX_g = g_aucFLOW_AFSM_VENT_VALVE_MAX[tmp_0 - 1]; /* End of MATLAB Function: '/g_aucFLOW_AF_VENT_VALVE_MAX' */ /* Switch: '/Switch2' incorporates: * RelationalOperator: '/LowerRelop1' */ if (rtb_Switch2_lt_idx_0 > rtb_c_g_aucFLOW_AFSM_VENT_VALVE_MAX_g) { rtb_Switch2_lt_idx_0 = rtb_c_g_aucFLOW_AFSM_VENT_VALVE_MAX_g; } if (rtb_Switch2_lt_idx_1 > rtb_c_g_aucFLOW_AFSM_VENT_VALVE_MAX_g) { rtb_Switch2_lt_idx_1 = rtb_c_g_aucFLOW_AFSM_VENT_VALVE_MAX_g; } /* End of Switch: '/Switch2' */ /* MATLAB Function: '/g_assFLOW_AF_AMB_TGT' */ /* : c_g_aucFLOW_AFSM_VENT_PLUS = g_aucFLOW_AFSM_VENT_PLUS(LVL + 1 + 6); */ g_assFLOW_AF_AMB_TGT_g(rtu_LVL, &rtb_deg_c); /* Gain: '/Gain2' incorporates: * Sum: '/deg' */ tmp_0 = (int16_t)(rtb_deg_c - rtu_Amb_Fb) * 13107; rtb_X_m = (int8_t)(((((uint32_t)tmp_0 & 65536U) != 0U) && ((((uint32_t)tmp_0 & 65535U) != 0U) || (tmp_0 > 0))) + (tmp_0 >> 17)); /* Switch: '/if (deg < 0)' incorporates: * DataTypeConversion: '/Data Type Conversion' * Sum: '/ ' * Switch: '/Switch2' */ if (rtb_X_m >= 0) { rtb_Switch2_j1_idx_0 = rty_Out1[0]; rtb_Switch2_j1_idx_1 = rty_Out1[1]; } else { /* MATLAB Function: '/g_aucFLOW_AF_VENT_PLUS' incorporates: * MATLAB Function: '/g_assFLOW_AFSM_TEMP_TGT_LEFT' */ tmp_0 = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp_0 = 255; } tmp = (int32_t)((uint32_t)tmp_0 + 6U); if ((uint32_t)tmp_0 + 6U > 255U) { tmp = 255; } /* Product: '/Умножили' incorporates: * Gain: '/Gain' * MATLAB Function: '/g_aucFLOW_AF_VENT_PLUS' */ rtb_deg_c = (int16_t)((int32_t)((g_aucFLOW_AFSM_VENT_PLUS[tmp - 1] * 205U + 1024U) >> 11) * rtb_X_m); rtb_Switch2_j1_idx_0 = (uint16_t)((int16_t)rty_Out1[0] - rtb_deg_c); rtb_Switch2_j1_idx_1 = (uint16_t)((int16_t)rty_Out1[1] - rtb_deg_c); } /* End of Switch: '/if (deg < 0)' */ /* MATLAB Function: '/g_aucFLOW_AF_VENT_VALVE_MAX' incorporates: * MATLAB Function: '/g_assFLOW_AFSM_TEMP_TGT_LEFT' */ /* : c_g_aucFLOW_AFSM_VENT_VALVE_MAX = g_aucFLOW_AFSM_VENT_VALVE_MAX(LVL + 1 + 6); */ tmp_0 = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp_0 = 255; } tmp = (int32_t)((uint32_t)tmp_0 + 6U); if ((uint32_t)tmp_0 + 6U > 255U) { tmp = 255; } rtb_c_g_aucFLOW_AFSM_VENT_VALVE_MAX_g = g_aucFLOW_AFSM_VENT_VALVE_MAX[tmp - 1]; /* End of MATLAB Function: '/g_aucFLOW_AF_VENT_VALVE_MAX' */ /* Assignment: '/Присваивание в [1-2]' incorporates: * SignalConversion generated from: '/Out1' * Switch: '/Switch2' */ rty_Out1[0] = rtb_Switch2_lt_idx_0; /* Switch: '/Switch2' incorporates: * RelationalOperator: '/LowerRelop1' */ if (rtb_Switch2_j1_idx_0 > rtb_c_g_aucFLOW_AFSM_VENT_VALVE_MAX_g) { /* Assignment: '/Присваивание в [3-4]' incorporates: * SignalConversion generated from: '/Out1' */ rty_Out1[2] = rtb_c_g_aucFLOW_AFSM_VENT_VALVE_MAX_g; } else { /* Assignment: '/Присваивание в [3-4]' incorporates: * SignalConversion generated from: '/Out1' */ rty_Out1[2] = rtb_Switch2_j1_idx_0; } /* Assignment: '/Присваивание в [1-2]' incorporates: * SignalConversion generated from: '/Out1' * Switch: '/Switch2' */ rty_Out1[1] = rtb_Switch2_lt_idx_1; /* Switch: '/Switch2' incorporates: * RelationalOperator: '/LowerRelop1' */ if (rtb_Switch2_j1_idx_1 > rtb_c_g_aucFLOW_AFSM_VENT_VALVE_MAX_g) { /* Assignment: '/Присваивание в [3-4]' incorporates: * SignalConversion generated from: '/Out1' */ rty_Out1[3] = rtb_c_g_aucFLOW_AFSM_VENT_VALVE_MAX_g; } else { /* Assignment: '/Присваивание в [3-4]' incorporates: * SignalConversion generated from: '/Out1' */ rty_Out1[3] = rtb_Switch2_j1_idx_1; } /* Assignment: '/Присваивание в [5]' incorporates: * SignalConversion generated from: '/Out1' */ rty_Out1[4] = rtb_FLF_NEW; /* Switch: '/Switch2' incorporates: * RelationalOperator: '/LowerRelop1' */ if (rtb_FRF_NEW > rtb_c_g_aucFLOW_AFSM_FOOT_VALVE_MAX) { /* Assignment: '/Присваивание в [7]' incorporates: * SignalConversion generated from: '/Out1' */ rty_Out1[6] = rtb_c_g_aucFLOW_AFSM_FOOT_VALVE_MAX; } else { /* Assignment: '/Присваивание в [7]' incorporates: * SignalConversion generated from: '/Out1' * Switch: '/Switch' */ rty_Out1[6] = rtb_FRF_NEW; } /* End of Switch: '/Switch2' */ } double rt_roundd(double u_0) { double y; if (fabs(u_0) < 4.503599627370496E+15) { if (u_0 >= 0.5) { y = floor(u_0 + 0.5); } else if (u_0 > -0.5) { y = 0.0; } else { y = ceil(u_0 - 0.5); } } else { y = u_0; } return y; } /* * Output and update for atomic system: * '/Начальные положения заслонок left' * '/Начальные положения заслонок right' */ void left(uint8_t rtu_idx, uint16_t rty_vals[9]) { int32_t i; int32_t rtu_idx_0; uint16_t tmp[45]; /* : table = [ */ /* : g_ausFLOW_FR_VE2VALVE; */ /* : g_ausFLOW_FR_BIVALVE; */ /* : g_ausFLOW_FR_BI2VALVE; */ /* : g_ausFLOW_FR_AF2VALVE; */ /* : g_ausFLOW_FR_AF2VALVE_SUMMER */ /* : ]; */ /* : idx = idx / 10; */ /* : vals = table(idx, :); */ rtu_idx_0 = (int32_t)rt_roundd((double)rtu_idx / 10.0); for (i = 0; i < 9; i++) { tmp[5 * i] = g_ausFLOW_FR_VE2VALVE[i]; tmp[5 * i + 1] = g_ausFLOW_FR_BIVALVE[i]; tmp[5 * i + 2] = g_ausFLOW_FR_BI2VALVE[i]; tmp[5 * i + 3] = g_ausFLOW_FR_AF2VALVE[i]; tmp[5 * i + 4] = g_ausFLOW_FR_AF2VALVE_SUMMER[i]; rty_vals[i] = tmp[(5 * i + rtu_idx_0) - 1]; } } /* * Output and update for action system: * '/Switch Case Action Subsystem' * '/Switch Case Action Subsystem' */ void SwitchCaseActionSubsystem(uint8_t rtu_valveindex, int8_t *rty_valve, int16_t *rty_blower) { /* Gain: '/Multiply' incorporates: * Lookup_n-D: '/1-D Lookup Table2' */ *rty_blower = (int16_t)-look1_iu8lu64n48ts16Ds32_binlcs(rtu_valveindex, rtConstP.pooled131, &g_assFOOT_STEP_BLR_M3[0], 10U); /* Gain: '/Multiply1' incorporates: * Lookup_n-D: '/1-D Lookup Table1' */ *rty_valve = (int8_t)-look1_iu8lu64n56ts8Ds16_binlcs(rtu_valveindex, rtConstP.pooled131, &g_ascFOOT_STEP_VALVE_M3[0], 10U); } /* * Output and update for action system: * '/Switch Case Action Subsystem1' * '/Switch Case Action Subsystem1' */ void SwitchCaseActionSubsystem1(uint8_t rtu_valveindex, int8_t *rty_valve, int16_t *rty_blower) { /* Gain: '/Multiply' incorporates: * Lookup_n-D: '/1-D Lookup Table2' */ *rty_blower = (int16_t)-look1_iu8lu64n48ts16Ds32_binlcs(rtu_valveindex, rtConstP.pooled131, &g_assFOOT_STEP_BLR_M2[0], 10U); /* Gain: '/Multiply1' incorporates: * Lookup_n-D: '/1-D Lookup Table1' */ *rty_valve = (int8_t)-look1_iu8lu64n56ts8Ds16_binlcs(rtu_valveindex, rtConstP.pooled131, &g_ascFOOT_STEP_VALVE_M2[0], 10U); } /* * Output and update for action system: * '/Switch Case Action Subsystem2' * '/Switch Case Action Subsystem2' */ void SwitchCaseActionSubsystem2(uint8_t rtu_valveindex, int8_t *rty_valve, int16_t *rty_blower) { /* Gain: '/Multiply' incorporates: * Lookup_n-D: '/1-D Lookup Table2' */ *rty_blower = (int16_t)-look1_iu8lu64n48ts16Ds32_binlcs(rtu_valveindex, rtConstP.pooled131, &g_assFOOT_STEP_BLR_M1[0], 10U); /* Gain: '/Multiply1' incorporates: * Lookup_n-D: '/1-D Lookup Table1' */ *rty_valve = (int8_t)-look1_iu8lu64n56ts8Ds16_binlcs(rtu_valveindex, rtConstP.pooled131, &g_ascFOOT_STEP_VALVE_M1[0], 10U); } /* * Output and update for action system: * '/Switch Case Action Subsystem3' * '/Switch Case Action Subsystem3' */ void SwitchCaseActionSubsystem3(int8_t *rty_valve, int16_t *rty_blower) { /* SignalConversion generated from: '/valve' incorporates: * Constant: '/Constant' */ *rty_valve = 0; /* SignalConversion generated from: '/blower' incorporates: * Constant: '/Constant1' */ *rty_blower = 0; } /* * Output and update for action system: * '/Switch Case Action Subsystem4' * '/Switch Case Action Subsystem4' */ void SwitchCaseActionSubsystem4(uint8_t rtu_valveindex, int8_t *rty_valve, int16_t *rty_blower) { /* Lookup_n-D: '/1-D Lookup Table1' */ *rty_valve = look1_iu8lu64n56ts8Ds16_binlcs(rtu_valveindex, rtConstP.pooled131, &g_ascFOOT_STEP_VALVE_P1[0], 10U); /* Lookup_n-D: '/1-D Lookup Table2' */ *rty_blower = look1_iu8lu64n48ts16Ds32_binlcs(rtu_valveindex, rtConstP.pooled131, &g_assFOOT_STEP_BLR_P1[0], 10U); } /* * Output and update for action system: * '/Switch Case Action Subsystem5' * '/Switch Case Action Subsystem5' */ void SwitchCaseActionSubsystem5(uint8_t rtu_valveindex, int8_t *rty_valve, int16_t *rty_blower) { /* Lookup_n-D: '/1-D Lookup Table1' */ *rty_valve = look1_iu8lu64n56ts8Ds16_binlcs(rtu_valveindex, rtConstP.pooled131, &g_ascFOOT_STEP_VALVE_P2[0], 10U); /* Lookup_n-D: '/1-D Lookup Table2' */ *rty_blower = look1_iu8lu64n48ts16Ds32_binlcs(rtu_valveindex, rtConstP.pooled131, &g_assFOOT_STEP_BLR_P2[0], 10U); } /* * Output and update for action system: * '/Switch Case Action Subsystem6' * '/Switch Case Action Subsystem6' */ void SwitchCaseActionSubsystem6(uint8_t rtu_valveindex, int8_t *rty_valve, int16_t *rty_blower) { /* Lookup_n-D: '/1-D Lookup Table1' */ *rty_valve = look1_iu8lu64n56ts8Ds16_binlcs(rtu_valveindex, rtConstP.pooled131, &g_ascFOOT_STEP_VALVE_P3[0], 10U); /* Lookup_n-D: '/1-D Lookup Table2' */ *rty_blower = look1_iu8lu64n48ts16Ds32_binlcs(rtu_valveindex, rtConstP.pooled131, &g_assFOOT_STEP_BLR_P3[0], 10U); } /* * Output and update for atomic system: * '/g_assSTART_ENTER_INCAR' * '/g_assSTART_ENTER_INCAR' */ void g_assSTART_ENTER_INCAR_n(uint8_t rtu_LVL, int16_t *rty_out) { int32_t tmp; /* : out = int16(g_assSTART_ENTER_INCAR(LVL+1)); */ tmp = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp = 255; } *rty_out = g_assSTART_ENTER_INCAR[tmp - 1]; } /* * Output and update for action system: * '/Level 2' * '/Level 2' */ void Level2(int8_t *rty_step) { /* SignalConversion generated from: '/step' incorporates: * Constant: '/Constant' */ *rty_step = 3; } /* * Output and update for atomic system: * '/g_assSTART_ENTER_COOLANT ' * '/g_assSTART_ENTER_COOLANT ' * '/g_assSTART_ENTER_COOLANT ' */ void g_assSTART_ENTER_COOLANT_m(uint8_t rtu_LVL, int16_t *rty_out) { int32_t q0; uint32_t qY; /* : out = int16(g_assSTART_ENTER_COOLANT(LVL + 1 - 3)); */ q0 = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { q0 = 255; } /* MW:begin MISRA2012:D4.1 CERT-C:INT30-C 'Justifying MISRA CPP rule violation' */ qY = (uint32_t)q0 - 3U; /* MW:end MISRA2012:D4.1 CERT-C:INT30-C */ if ((uint32_t)q0 - 3U > (uint32_t)q0) { qY = 0U; } *rty_out = g_assSTART_ENTER_COOLANT[(int32_t)qY - 1]; } /* * Output and update for action system: * '/Level 4' * '/Level 5' */ void Level4(int8_t *rty_step1, const uint8_t *rtd_CCU_MODE_FL, const int16_t *rtd_ECT, const uint8_t *rtd_LEVEL, const uint8_t *rtd_LO_HI_MODE_FL) { int16_t rtb_out_hi; /* MATLAB Function: '/g_assSTART_ENTER_COOLANT ' incorporates: * DataStoreRead: '/Data Store Read3' */ g_assSTART_ENTER_COOLANT_m(*rtd_LEVEL, &rtb_out_hi); /* Switch: '/Switch' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * Constant: '/LOW' * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read5' * DataStoreRead: '/mode driver' * Logic: '/AND' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator3' */ if ((*rtd_ECT < rtb_out_hi) && (*rtd_CCU_MODE_FL == 1) && (*rtd_LO_HI_MODE_FL != 1)) { *rty_step1 = 0; } else { *rty_step1 = -1; } /* End of Switch: '/Switch' */ } /* * Output and update for action system: * '/Level 0' * '/Level 1' * '/Level 2' * '/Level 0' * '/Level 1' */ void Level0(int8_t *rty_step) { /* SignalConversion generated from: '/step' incorporates: * Constant: '/Constant' */ *rty_step = 1; } /* * Output and update for atomic system: * '/incar filter down' * '/incar filter down' * '/incar filter down' * '/incar filter down' * '/incar filter down' * '/incar filter down' * '/incar filter down' * '/incar filter down' * '/incar filter down' * '/incar filter down' * ... */ void incarfilterdown(uint8_t rtu_LVL, uint8_t *rty_out) { int32_t tmp; /* : out = g_aucSTART_INCAR_FLT_DN(LVL + 1); */ tmp = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp = 255; } *rty_out = g_aucSTART_INCAR_FLT_DN[tmp - 1]; } /* * Output and update for atomic system: * '/incar filter up' * '/incar filter up' * '/incar filter up' * '/incar filter up' * '/incar filter up' * '/incar filter up' * '/incar filter up' * '/incar filter up' * '/incar filter up' * '/incar filter up' * ... */ void incarfilterup(uint8_t rtu_LVL, uint8_t *rty_out) { int32_t tmp; /* : out = g_aucSTART_INCAR_FLT_UP(LVL + 1); */ tmp = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp = 255; } *rty_out = g_aucSTART_INCAR_FLT_UP[tmp - 1]; } /* * Output and update for atomic system: * '/g_assSTART_COOLANT_STEP0_TO_1 ' * '/g_assSTART_COOLANT_STEP0_TO_1 ' */ void g_assSTART_COOLANT_STEP0_TO_1_c(uint8_t rtu_LVL, int16_t *rty_out) { int32_t q0; uint32_t qY; /* : out = int16(g_assSTART_COOLANT_STEP0_TO_1(LVL + 1 - 2)); */ q0 = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { q0 = 255; } /* MW:begin MISRA2012:D4.1 CERT-C:INT30-C 'Justifying MISRA CPP rule violation' */ qY = (uint32_t)q0 - 2U; /* MW:end MISRA2012:D4.1 CERT-C:INT30-C */ if ((uint32_t)q0 - 2U > (uint32_t)q0) { qY = 0U; } *rty_out = g_assSTART_COOLANT_STEP0_TO_1[(int32_t)qY - 1]; } /* * Output and update for atomic system: * '/3 way valve status' * '/3 way valve status' * '/3 way valve status' * '/3 way valve status' * '/3 way valve status' */ void uwayvalvestatus(uint8_t rtu_LVL, uint8_t *rty_out) { int32_t tmp; /* : out = g_aucSTART_3WAY_OPEN(LVL + 1); */ tmp = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp = 255; } *rty_out = g_aucSTART_3WAY_OPEN[tmp - 1]; } /* * Output and update for atomic system: * '/Dtg_FrontLower_X' * '/Dtg_FrontLower_X' * '/Dtg_FrontLower_X' */ void Dtg_FrontLower_X(uint8_t rtu_LVL, uint8_t *rty_out) { int32_t tmp; /* : out = g_aucSTART_DUCT_TGT_STEP2_FX_L(LVL + 1); */ tmp = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp = 255; } *rty_out = g_aucSTART_DUCT_TGT_STEP2_FX_L[tmp - 1]; } /* * Output and update for atomic system: * '/Dtg_FrontUpper_X' * '/Dtg_FrontUpper_X' * '/Dtg_FrontUpper_X' */ void Dtg_FrontUpper_X(uint8_t rtu_LVL, uint8_t *rty_out) { int32_t tmp; /* : out = g_aucSTART_DUCT_TGT_STEP2_FX_U(LVL + 1); */ tmp = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp = 255; } *rty_out = g_aucSTART_DUCT_TGT_STEP2_FX_U[tmp - 1]; } /* * Output and update for atomic system: * '/Incar temp goto from step 1 to step 2 ' * '/Incar temp goto from step 1 to step 2 ' * '/Incar temp goto from step 1 to step 2 ' * '/Incar temp goto from step 1 to step 2 ' * '/Incar temp goto from step 1 to step 2 ' */ void Incartempgotofromstep1tostep2(uint8_t rtu_LVL, int16_t *rty_out) { int32_t tmp; /* : out = int16(g_assSTART_INCAR_STEP1_TO_2(LVL + 1)); */ tmp = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp = 255; } *rty_out = g_assSTART_INCAR_STEP1_TO_2[tmp - 1]; } /* * System initialize for atomic system: * '/MATLAB Function1' * '/MATLAB Function1' * '/MATLAB Function1' * '/MATLAB Function1' * '/MATLAB Function1' * '/MATLAB Function1' * '/MATLAB Function1' * '/MATLAB Function1' * '/MATLAB Function1' * '/MATLAB Function1' * ... */ void MATLABFunction1_Init(DW_MATLABFunction1 *localDW) { localDW->t_start_not_empty = false; } /* * Output and update for atomic system: * '/MATLAB Function1' * '/MATLAB Function1' * '/MATLAB Function1' * '/MATLAB Function1' * '/MATLAB Function1' * '/MATLAB Function1' * '/MATLAB Function1' * '/MATLAB Function1' * '/MATLAB Function1' * '/MATLAB Function1' * ... */ void MATLABFunction1(uint32_t rtu_t_now, uint16_t rtu_time_delta, bool *rty_timer_out, DW_MATLABFunction1 *localDW) { uint32_t qY; /* : if isempty(t_start) */ if (!localDW->t_start_not_empty) { /* : t_start = t_now; */ localDW->t_start = rtu_t_now; localDW->t_start_not_empty = true; } /* : timer_out = (t_now - t_start) >= time_delta; */ /* MW:begin MISRA2012:D4.1 CERT-C:INT30-C 'Justifying MISRA CPP rule violation' */ qY = rtu_t_now - /*MW:OvSatOk*/ localDW->t_start; /* MW:end MISRA2012:D4.1 CERT-C:INT30-C */ if (qY > rtu_t_now) { qY = 0U; } *rty_timer_out = (qY >= rtu_time_delta); } /* * Output and update for atomic system: * '/blower FR' * '/blower FR' */ void blowerFR(uint8_t rtu_LVL, uint16_t *rty_out) { int32_t tmp; /* : out = g_ausSTART_BLR_AF_STEP12_F(LVL + 1); */ tmp = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp = 255; } *rty_out = g_ausSTART_BLR_AF_STEP12_F[tmp - 1]; } /* * Output and update for atomic system: * '/mode FR step 1' * '/mode FR step 1' * '/mode FR step 1' * '/mode FR step 1' * '/mode FR step 1' */ void modeFRstep1(uint8_t rtu_LVL, uint8_t *rty_out) { int32_t tmp; /* : out = g_aucSTART_VALVE_IDX_STEP1(LVL + 1); */ tmp = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp = 255; } *rty_out = g_aucSTART_VALVE_IDX_STEP1[tmp - 1]; } /* * Output and update for atomic system: * '/window heating' * '/window heating' * '/window heating' * '/window heating' * '/window heating' */ void windowheating(uint8_t rtu_LVL, uint8_t *rty_out) { int32_t tmp; /* : out = g_aucSTART_ELEC_WINDOW(LVL + 1); */ tmp = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp = 255; } *rty_out = g_aucSTART_ELEC_WINDOW[tmp - 1]; } /* * System initialize for atomic system: * '/MATLAB Function1' * '/MATLAB Function1' * '/MATLAB Function1' * '/MATLAB Function1' * '/MATLAB Function1' * '/MATLAB Function1' * '/MATLAB Function1' * '/MATLAB Function1' * '/MATLAB Function1' */ void MATLABFunction1_a_Init(DW_MATLABFunction1_f *localDW) { localDW->t_start_not_empty = false; } /* * Output and update for atomic system: * '/MATLAB Function1' * '/MATLAB Function1' * '/MATLAB Function1' * '/MATLAB Function1' * '/MATLAB Function1' * '/MATLAB Function1' * '/MATLAB Function1' * '/MATLAB Function1' * '/MATLAB Function1' */ void MATLABFunction1_j(uint32_t rtu_t_now, uint32_t rtu_time_delta, bool *rty_timer_out, DW_MATLABFunction1_f *localDW) { uint32_t qY; /* : if isempty(t_start) */ if (!localDW->t_start_not_empty) { /* : t_start = t_now; */ localDW->t_start = rtu_t_now; localDW->t_start_not_empty = true; } /* : timer_out = (t_now - t_start) >= time_delta; */ /* MW:begin MISRA2012:D4.1 CERT-C:INT30-C 'Justifying MISRA CPP rule violation' */ qY = rtu_t_now - /*MW:OvSatOk*/ localDW->t_start; /* MW:end MISRA2012:D4.1 CERT-C:INT30-C */ if (qY > rtu_t_now) { qY = 0U; } *rty_timer_out = (qY >= rtu_time_delta); } /* * Output and update for atomic system: * '/Time goto from step 1 to step 2 ' * '/Time goto from step 1 to step 2 ' * '/Time goto from step 1 to step 2 ' * '/Time goto from step 1 to step 2 ' */ void Timegotofromstep1tostep2(uint8_t rtu_LVL, int16_t *rty_out) { int32_t tmp; uint16_t tmp_0; /* : out = int16(g_ausSTART_TIME_STEP1_TO_2(LVL + 1)); */ tmp = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp = 255; } tmp_0 = g_ausSTART_TIME_STEP1_TO_2[tmp - 1]; if (tmp_0 > 32767) { tmp_0 = 32767U; } *rty_out = (int16_t)tmp_0; } /* * Output and update for atomic system: * '/ECT min max' * '/ECT min max' * '/ECT min max' */ void ECTminmax(uint8_t rtu_LVL, int16_t rty_out[2]) { int32_t q0; uint32_t qY; /* : min = int16(g_assSTART_COOLANT_STEP0_TO_1(LVL + 1 - 2)); */ /* : max = int16(g_assSTART_COOLANT_TO_STEP2(1)); */ /* : out = [min, max]; */ q0 = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { q0 = 255; } /* MW:begin MISRA2012:D4.1 CERT-C:INT30-C 'Justifying MISRA CPP rule violation' */ qY = (uint32_t)q0 - 2U; /* MW:end MISRA2012:D4.1 CERT-C:INT30-C */ if ((uint32_t)q0 - 2U > (uint32_t)q0) { qY = 0U; } rty_out[0] = g_assSTART_COOLANT_STEP0_TO_1[(int32_t)qY - 1]; rty_out[1] = g_assSTART_COOLANT_TO_STEP2[0]; } /* * Output and update for atomic system: * '/blower min max' * '/blower min max' * '/blower min max' */ void blowerminmax(uint8_t rtu_LVL, uint16_t rty_out[2]) { int32_t tmp; /* : min = 20; */ /* : max = g_ausSTART_BLR_AF_STEP12_F(LVL + 1); */ /* : out = [min, max]; */ rty_out[0] = 20U; tmp = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp = 255; } rty_out[1] = g_ausSTART_BLR_AF_STEP12_F[tmp - 1]; } /* * Output and update for atomic system: * '/3 way valve status' * '/3 way valve status' * '/3 way valve status' * '/3 way valve status' * '/3 way valve status' */ void uwayvalvestatus_m(uint8_t rtu_LVL, uint8_t *rty_out) { int32_t tmp; int32_t tmp_0; /* : out = g_aucSTART_3WAY_OPEN(LVL + 1 + 6); */ tmp = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp = 255; } tmp_0 = (int32_t)((uint32_t)tmp + 6U); if ((uint32_t)tmp + 6U > 255U) { tmp_0 = 255; } *rty_out = g_aucSTART_3WAY_OPEN[tmp_0 - 1]; } /* * Output and update for atomic system: * '/time for step' * '/time for step' * '/time for step' * '/time for step' * '/time for step' */ void timeforstep(uint8_t rtu_LVL, uint8_t *rty_out) { int32_t tmp; int32_t tmp_0; /* : out = g_aucSTART_DUCT_TGT_STEP2_FX_L(LVL + 1 + 6); */ tmp = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp = 255; } tmp_0 = (int32_t)((uint32_t)tmp + 6U); if ((uint32_t)tmp + 6U > 255U) { tmp_0 = 255; } *rty_out = g_aucSTART_DUCT_TGT_STEP2_FX_L[tmp_0 - 1]; } /* * Output and update for atomic system: * '/time for step' * '/time for step' * '/time for step' * '/time for step' * '/time for step' */ void timeforstep_d(uint8_t rtu_LVL, uint8_t *rty_out) { int32_t tmp; int32_t tmp_0; /* : out = g_aucSTART_DUCT_TGT_STEP2_FX_U(LVL + 1 + 6); */ tmp = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp = 255; } tmp_0 = (int32_t)((uint32_t)tmp + 6U); if ((uint32_t)tmp + 6U > 255U) { tmp_0 = 255; } *rty_out = g_aucSTART_DUCT_TGT_STEP2_FX_U[tmp_0 - 1]; } /* * Output and update for atomic system: * '/Time goto from step 2 to step 3 ' * '/Time goto from step 2 to step 3 ' * '/Time goto from step 2 to step 3 ' * '/Time goto from step 2 to step 3 ' * '/Time goto from step 2 to step 3 ' */ void Timegotofromstep2tostep3(uint8_t rtu_LVL, int16_t *rty_out) { int32_t tmp; uint16_t tmp_0; /* : out = int16(g_ausSTART_TIME_STEP2_TO_3(LVL + 1)); */ tmp = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp = 255; } tmp_0 = g_ausSTART_TIME_STEP2_TO_3[tmp - 1]; if (tmp_0 > 32767) { tmp_0 = 32767U; } *rty_out = (int16_t)tmp_0; } /* * Output and update for atomic system: * '/blower step' * '/blower step' * '/blower step' * '/blower step' * '/blower step' */ void blowerstep(uint8_t rtu_LVL, uint16_t *rty_out) { int32_t tmp; /* : out = g_ausSTART_BLR_SPD_STEP2_F(LVL + 1); */ tmp = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp = 255; } *rty_out = g_ausSTART_BLR_SPD_STEP2_F[tmp - 1]; } /* * Output and update for atomic system: * '/blower time for step' * '/blower time for step' * '/blower time for step' * '/blower time for step' * '/blower time for step' */ void blowertimeforstep(uint8_t rtu_LVL, uint16_t *rty_out) { int32_t tmp; int32_t tmp_0; /* : out = g_ausSTART_BLR_SPD_STEP2_F(LVL + 1 + 6); */ tmp = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp = 255; } tmp_0 = (int32_t)((uint32_t)tmp + 6U); if ((uint32_t)tmp + 6U > 255U) { tmp_0 = 255; } *rty_out = g_ausSTART_BLR_SPD_STEP2_F[tmp_0 - 1]; } /* * Output and update for atomic system: * '/step' * '/step' * '/step' * '/step' * '/step' */ void step_g(uint8_t rtu_LVL, uint8_t *rty_out) { int32_t tmp; /* : out = g_aucSTART_VALVE_CHANGE_SPD_F(LVL + 1); */ tmp = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp = 255; } *rty_out = g_aucSTART_VALVE_CHANGE_SPD_F[tmp - 1]; } /* * Output and update for atomic system: * '/time for step' * '/time for step' * '/time for step' * '/time for step' * '/time for step' */ void timeforstep_f(uint8_t rtu_LVL, uint8_t *rty_out) { int32_t tmp; int32_t tmp_0; /* : out = g_aucSTART_VALVE_CHANGE_SPD_F(LVL + 1 + 6); */ tmp = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp = 255; } tmp_0 = (int32_t)((uint32_t)tmp + 6U); if ((uint32_t)tmp + 6U > 255U) { tmp_0 = 255; } *rty_out = g_aucSTART_VALVE_CHANGE_SPD_F[tmp_0 - 1]; } /* * Output and update for atomic system: * '/window heating' * '/window heating' * '/window heating' * '/window heating' */ void windowheating_o(uint8_t rtu_LVL, uint8_t *rty_out) { int32_t tmp; int32_t tmp_0; /* : out = g_aucSTART_ELEC_WINDOW(LVL + 1 + 6); */ tmp = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp = 255; } tmp_0 = (int32_t)((uint32_t)tmp + 6U); if ((uint32_t)tmp + 6U > 255U) { tmp_0 = 255; } *rty_out = g_aucSTART_ELEC_WINDOW[tmp_0 - 1]; } /* * Output and update for atomic system: * '/autodemist (autodefog)' * '/autodemist (autodefog)' * '/autodemist (autodefog)' */ void autodemistautodefog(uint8_t rtu_LVL, uint8_t *rty_out) { int32_t tmp; /* : out = g_aucSTART_AUTODEMIST2_STEP2(LVL + 1); */ tmp = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp = 255; } *rty_out = g_aucSTART_AUTODEMIST2_STEP2[tmp - 1]; } /* * System initialize for action system: * '/Level 3' * '/Level 4' */ void Level3_Init(DW_Level3 *localDW) { /* SystemInitialize for MATLAB Function: '/MATLAB Function1' */ MATLABFunction1_a_Init(&localDW->sf_MATLABFunction1); } /* * Output and update for action system: * '/Level 3' * '/Level 4' */ void Level3(int8_t *rty_step, uint8_t *rtd_Autodefog, uint8_t *rtd_Blower_FL, uint8_t *rtd_Blower_FR, const uint8_t *rtd_Blower_logic_FL, const uint8_t *rtd_CCU_MODE_FL, uint16_t *rtd_Dtg_FLL, uint16_t *rtd_Dtg_FLR, uint16_t *rtd_Dtg_FUL, uint16_t *rtd_Dtg_FUR, const int16_t *rtd_Dtg_logic_FLL, const int16_t *rtd_Dtg_logic_FUL, uint8_t *rtd_El_window_heating, const bool *rtd_HI_logic_on, uint8_t *rtd_Incar_filter_down_value, uint8_t *rtd_Incar_filter_up_value, const uint8_t *rtd_LEVEL, const uint8_t *rtd_LO_HI_MODE_FL, uint8_t * rtd_Mode_FL, uint8_t *rtd_Mode_FR, const uint8_t *rtd_Mode_logic_FL, double *rtd_Recirculation, uint8_t *rtd_Valve_3_way, const uint32_t * rtd_t_now, DW_Level3 *localDW) { double rtb_Switch_hz; int32_t tmp; int16_t rtb_out_eim; uint16_t rtb_out_h1s; uint16_t rtb_out_hi; uint8_t rtb_out_hic; uint8_t rtb_out_i5m; uint8_t rtb_out_lwp; bool rtb_timer_out_k; /* DataStoreWrite: '/Data Store Write8' incorporates: * DataStoreRead: '/Data Store Read10' * MATLAB Function: '/3 way valve status' */ uwayvalvestatus_m(*rtd_LEVEL, rtd_Valve_3_way); /* Sum: '/Add' incorporates: * DataStoreRead: '/Текущее значение blower ' * DataStoreRead: '/значение auto (в соответствии с логикой)' */ rtb_out_eim = (int16_t)((*rtd_Dtg_FLL - *rtd_Dtg_logic_FLL) >> 1); /* MATLAB Function: '/step' incorporates: * DataStoreRead: '/Data Store Read9' */ Dtg_FrontLower_X(*rtd_LEVEL, &rtb_out_i5m); /* MATLAB Function: '/time for step' incorporates: * DataStoreRead: '/Data Store Read9' */ timeforstep(*rtd_LEVEL, &rtb_out_lwp); /* Abs: '/Abs' */ if (rtb_out_eim < 0) { rtb_out_eim = (int16_t)-rtb_out_eim; } /* Switch: '/Switch' incorporates: * Abs: '/Abs' * Constant: '/Constant' * Constant: '/epsilon' * DataStoreRead: '/Текущее значение blower ' * DataStoreRead: '/значение auto (в соответствии с логикой)' * DataStoreRead: '/текущее время в мс' * DataStoreWrite: '/Data Store Write12' * Gain: '/Gain1' * Product: '/Product1' * Product: '/change rate (dtg//sec)' * Product: '/скорость в мс' * Product: '/шаг изменения' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator' * Sum: '/Add' * Sum: '/Subtract' * Switch: '/Switch' * UnitDelay: '/Unit Delay' */ if ((double)rtb_out_eim * 2.0 <= 0.01) { *rtd_Dtg_FLR = (uint16_t)*rtd_Dtg_logic_FLL; } else { if (*rtd_Dtg_FLL <= *rtd_Dtg_logic_FLL) { /* Switch: '/Switch' incorporates: * Constant: '/Constant' */ tmp = 1; } else { /* Switch: '/Switch' incorporates: * Constant: '/Constant1' */ tmp = -1; } *rtd_Dtg_FLR = (uint16_t)rt_roundd(10.0 * (double)rtb_out_i5m / (double) rtb_out_lwp / 1000.0 * (double)(*rtd_t_now - localDW->UnitDelay_DSTATE) * (double)tmp + (double)*rtd_Dtg_FLL); } /* End of Switch: '/Switch' */ /* DataStoreWrite: '/Data Store Write13' incorporates: * DataStoreWrite: '/Data Store Write12' */ *rtd_Dtg_FLL = *rtd_Dtg_FLR; /* Sum: '/Add' incorporates: * DataStoreRead: '/Текущее значение blower ' * DataStoreRead: '/значение auto (в соответствии с логикой)' */ rtb_out_eim = (int16_t)((*rtd_Dtg_FUL - *rtd_Dtg_logic_FUL) >> 1); /* Abs: '/Abs' */ if (rtb_out_eim < 0) { rtb_out_eim = (int16_t)-rtb_out_eim; } /* End of Abs: '/Abs' */ /* MATLAB Function: '/step' incorporates: * DataStoreRead: '/Data Store Read8' */ Dtg_FrontUpper_X(*rtd_LEVEL, &rtb_out_i5m); /* MATLAB Function: '/time for step' incorporates: * DataStoreRead: '/Data Store Read8' */ timeforstep_d(*rtd_LEVEL, &rtb_out_lwp); /* Switch: '/Switch' incorporates: * Constant: '/Constant' * Constant: '/epsilon' * DataStoreRead: '/Текущее значение blower ' * DataStoreRead: '/значение auto (в соответствии с логикой)' * DataStoreRead: '/текущее время в мс' * DataStoreWrite: '/Data Store Write10' * Gain: '/Gain1' * Product: '/Product1' * Product: '/change rate (dtg//sec)' * Product: '/скорость в мс' * Product: '/шаг изменения' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator' * Sum: '/Add' * Sum: '/Subtract' * Switch: '/Switch' * UnitDelay: '/Unit Delay' */ if ((double)rtb_out_eim * 2.0 <= 0.01) { *rtd_Dtg_FUR = (uint16_t)*rtd_Dtg_logic_FUL; } else { if (*rtd_Dtg_FUL <= *rtd_Dtg_logic_FUL) { /* Switch: '/Switch' incorporates: * Constant: '/Constant' */ tmp = 1; } else { /* Switch: '/Switch' incorporates: * Constant: '/Constant1' */ tmp = -1; } *rtd_Dtg_FUR = (uint16_t)rt_roundd(10.0 * (double)rtb_out_i5m / (double) rtb_out_lwp / 1000.0 * (double)(*rtd_t_now - localDW->UnitDelay_DSTATE_c) * (double)tmp + (double)*rtd_Dtg_FUL); } /* End of Switch: '/Switch' */ /* DataStoreWrite: '/Data Store Write11' incorporates: * DataStoreWrite: '/Data Store Write10' */ *rtd_Dtg_FUL = *rtd_Dtg_FUR; /* DataStoreWrite: '/Data Store Write' incorporates: * DataStoreRead: '/Data Store Read1' * MATLAB Function: '/incar filter up' */ incarfilterup(*rtd_LEVEL, rtd_Incar_filter_up_value); /* DataStoreWrite: '/Data Store Write1' incorporates: * DataStoreRead: '/Data Store Read2' * MATLAB Function: '/incar filter down' */ incarfilterdown(*rtd_LEVEL, rtd_Incar_filter_down_value); /* DataStoreWrite: '/Data Store Write14' incorporates: * DataStoreRead: '/Data Store Read3' * MATLAB Function: '/autodemist (autodefog)' */ autodemistautodefog(*rtd_LEVEL, rtd_Autodefog); /* Sum: '/Add' incorporates: * DataStoreRead: '/Текущее значение blower ' * DataStoreRead: '/значение auto (в соответствии с логикой)' */ rtb_out_i5m = (uint8_t)(*rtd_Mode_FL - *rtd_Mode_logic_FL); /* MATLAB Function: '/step' incorporates: * DataStoreRead: '/Data Store Read5' */ step_g(*rtd_LEVEL, &rtb_out_lwp); /* MATLAB Function: '/time for step' incorporates: * DataStoreRead: '/Data Store Read5' */ timeforstep_f(*rtd_LEVEL, &rtb_out_hic); /* Switch: '/Switch' incorporates: * Constant: '/Constant' * Constant: '/epsilon' * DataStoreRead: '/Текущее значение blower ' * DataStoreRead: '/значение auto (в соответствии с логикой)' * DataStoreRead: '/текущее время в мс' * DataStoreWrite: '/Data Store Write2' * Product: '/Product1' * Product: '/change rate (step//sec)' * Product: '/скорость в мс' * Product: '/шаг изменения' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator' * Sum: '/Add' * Sum: '/Subtract' * Switch: '/Switch' * UnitDelay: '/Unit Delay' */ if (rtb_out_i5m <= 0.01) { *rtd_Mode_FR = *rtd_Mode_logic_FL; } else { if (*rtd_Mode_FL <= *rtd_Mode_logic_FL) { /* Switch: '/Switch' incorporates: * Constant: '/Constant' */ tmp = 1; } else { /* Switch: '/Switch' incorporates: * Constant: '/Constant1' */ tmp = -1; } *rtd_Mode_FR = (uint8_t)((double)rtb_out_lwp / (double)rtb_out_hic / 1000.0 * (double)(*rtd_t_now - localDW->UnitDelay_DSTATE_f) * (double)tmp + (double)* rtd_Mode_FL); } /* End of Switch: '/Switch' */ /* DataStoreWrite: '/Data Store Write3' incorporates: * DataStoreWrite: '/Data Store Write2' */ *rtd_Mode_FL = *rtd_Mode_FR; /* MATLAB Function: '/window heating' incorporates: * DataStoreRead: '/Data Store Read6' */ windowheating_o(*rtd_LEVEL, &rtb_out_i5m); /* DataStoreWrite: '/Data Store Write4' */ *rtd_El_window_heating = rtb_out_i5m; /* MATLAB Function: '/blower step' incorporates: * DataStoreRead: '/Data Store Read7' */ blowerstep(*rtd_LEVEL, &rtb_out_h1s); /* MATLAB Function: '/blower time for step' incorporates: * DataStoreRead: '/Data Store Read7' */ blowertimeforstep(*rtd_LEVEL, &rtb_out_hi); /* Switch: '/Switch' incorporates: * Constant: '/Constant' * Constant: '/epsilon' * DataStoreRead: '/Текущее значение blower ' * DataStoreRead: '/значение auto (в соответствии с логикой)' * DataStoreRead: '/текущее время в мс' * Product: '/Product1' * Product: '/change rate (step//sec)' * Product: '/скорость в мс' * Product: '/шаг изменения' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator' * Sum: '/Add' * Sum: '/Add' * Sum: '/Subtract' * Switch: '/Switch' * UnitDelay: '/Unit Delay' */ if ((uint8_t)(*rtd_Blower_FL - *rtd_Blower_logic_FL) <= 0.01) { rtb_Switch_hz = *rtd_Blower_logic_FL; } else { if (*rtd_Blower_FL <= *rtd_Blower_logic_FL) { /* Switch: '/Switch' incorporates: * Constant: '/Constant' */ tmp = 1; } else { /* Switch: '/Switch' incorporates: * Constant: '/Constant1' */ tmp = -1; } rtb_Switch_hz = (double)rtb_out_h1s / (double)rtb_out_hi / 1000.0 * (double) (*rtd_t_now - localDW->UnitDelay_DSTATE_l) * (double)tmp + (double)* rtd_Blower_FL; } /* End of Switch: '/Switch' */ /* DataTypeConversion: '/Data Type Conversion' incorporates: * DataStoreWrite: '/Data Store Write5' */ *rtd_Blower_FR = (uint8_t)rtb_Switch_hz; /* DataStoreWrite: '/Data Store Write6' incorporates: * DataStoreWrite: '/Data Store Write5' */ *rtd_Blower_FL = *rtd_Blower_FR; /* DataStoreWrite: '/Data Store Write7' incorporates: * Constant: '/Recirc logic Partial REC' */ *rtd_Recirculation = 1.0; /* MATLAB Function: '/Time goto from step 2 to step 3 ' incorporates: * DataStoreRead: '/Data Store Read4' */ Timegotofromstep2tostep3(*rtd_LEVEL, &rtb_out_eim); /* MATLAB Function: '/MATLAB Function1' incorporates: * DataStoreRead: '/Data Store Read13' * Gain: '/из сек в мс' */ MATLABFunction1_j(*rtd_t_now, (uint32_t)(1000 * rtb_out_eim), &rtb_timer_out_k, &localDW->sf_MATLABFunction1); /* Switch: '/Switch1' incorporates: * Constant: '/exit algorithm' * Constant: '/not LO or HI' * Constant: '/stay at step' * DataStoreRead: '/Data Store Read11' * DataStoreRead: '/Data Store Read12' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator3' * Switch: '/Switch' */ if ((*rtd_CCU_MODE_FL != 1) || (*rtd_LO_HI_MODE_FL != 0)) { *rty_step = 3; } else if (rtb_timer_out_k || (*rtd_HI_logic_on)) { /* Switch: '/Switch' incorporates: * Constant: '/go to next step' */ *rty_step = 3; } else { *rty_step = 2; } /* End of Switch: '/Switch1' */ /* Update for UnitDelay: '/Unit Delay' incorporates: * DataStoreRead: '/текущее время в мс' */ localDW->UnitDelay_DSTATE = *rtd_t_now; /* Update for UnitDelay: '/Unit Delay' incorporates: * DataStoreRead: '/текущее время в мс' */ localDW->UnitDelay_DSTATE_c = *rtd_t_now; /* Update for UnitDelay: '/Unit Delay' incorporates: * DataStoreRead: '/текущее время в мс' */ localDW->UnitDelay_DSTATE_f = *rtd_t_now; /* Update for UnitDelay: '/Unit Delay' incorporates: * DataStoreRead: '/текущее время в мс' */ localDW->UnitDelay_DSTATE_l = *rtd_t_now; } /* * Output and update for action system: * '/Step 3 F' * '/Step 3 R' */ void Step3F(int8_t *rty_step, int8_t *rtd_start_control_finished_front) { /* DataStoreWrite: '/Data Store Write10' incorporates: * Constant: '/True' */ *rtd_start_control_finished_front = 1; /* SignalConversion generated from: '/step' incorporates: * Constant: '/Constant1' */ *rty_step = 3; } /* * Output and update for atomic system: * '/g_ausSTART_ENTER_SETTEMP' * '/g_ausSTART_ENTER_SETTEMP' * '/g_ausSTART_ENTER_SETTEMP' */ void g_ausSTART_ENTER_SETTEMP_i(uint8_t rtu_LVL, int16_t *rty_out) { int32_t tmp; int32_t tmp_0; uint16_t tmp_1; /* : out = int16(g_ausSTART_ENTER_SETTEMP(LVL+1+6)); */ tmp = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp = 255; } tmp_0 = (int32_t)((uint32_t)tmp + 6U); if ((uint32_t)tmp + 6U > 255U) { tmp_0 = 255; } tmp_1 = g_ausSTART_ENTER_SETTEMP[tmp_0 - 1]; if (tmp_1 > 32767) { tmp_1 = 32767U; } *rty_out = (int16_t)tmp_1; } /* * Output and update for atomic system: * '/g_assSTART_ENTER_INCAR' * '/g_assSTART_ENTER_INCAR' * '/g_assSTART_ENTER_INCAR' * '/g_assSTART_ENTER_INCAR' * '/g_assSTART_ENTER_INCAR' */ void g_assSTART_ENTER_INCAR_f(uint8_t rtu_LVL, int16_t *rty_out) { int32_t tmp; int32_t tmp_0; /* : out = int16(g_assSTART_ENTER_INCAR(LVL+1+6)); */ tmp = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp = 255; } tmp_0 = (int32_t)((uint32_t)tmp + 6U); if ((uint32_t)tmp + 6U > 255U) { tmp_0 = 255; } *rty_out = g_assSTART_ENTER_INCAR[tmp_0 - 1]; } /* * Output and update for atomic system: * '/g_assSTART_ENTER_COOLANT ' * '/g_assSTART_ENTER_COOLANT ' * '/g_assSTART_ENTER_COOLANT ' */ void g_assSTART_ENTER_COOLANT_m1(uint8_t rtu_LVL, int16_t *rty_out) { int32_t tmp; /* : out = int16(g_assSTART_ENTER_COOLANT(LVL + 1)); */ tmp = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp = 255; } *rty_out = g_assSTART_ENTER_COOLANT[tmp - 1]; } /* * Output and update for action system: * '/Level 4' * '/Level 5' */ void Level4_j(int8_t *rty_step1, const uint8_t *rtd_CCU_MODE_RR, const int16_t *rtd_ECT, const int16_t *rtd_Incar_RR, const uint8_t *rtd_LEVEL, const uint8_t *rtd_LO_HI_MODE_RR) { int16_t rtb_out_eyp; int16_t rtb_out_mxz; /* MATLAB Function: '/g_assSTART_ENTER_INCAR' incorporates: * DataStoreRead: '/Data Store Read4' */ g_assSTART_ENTER_INCAR_f(*rtd_LEVEL, &rtb_out_mxz); /* MATLAB Function: '/g_assSTART_ENTER_COOLANT ' incorporates: * DataStoreRead: '/Data Store Read3' */ g_assSTART_ENTER_COOLANT_m1(*rtd_LEVEL, &rtb_out_eyp); /* Switch: '/Switch' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * Constant: '/LOW' * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read5' * Logic: '/AND' * Logic: '/AND1' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator3' */ if (((*rtd_Incar_RR < rtb_out_mxz) || (*rtd_ECT < rtb_out_eyp)) && (*rtd_CCU_MODE_RR == 1) && (*rtd_LO_HI_MODE_RR != 1)) { *rty_step1 = 0; } else { *rty_step1 = -1; } /* End of Switch: '/Switch' */ } /* * Output and update for atomic system: * '/incar filter down' * '/incar filter down' * '/incar filter down' * '/incar filter down' */ void incarfilterdown_m(uint8_t rtu_LVL, uint8_t *rty_out) { int32_t tmp; int32_t tmp_0; /* : out = g_aucSTART_INCAR_FLT_DN(LVL + 1 + 6); */ tmp = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp = 255; } tmp_0 = (int32_t)((uint32_t)tmp + 6U); if ((uint32_t)tmp + 6U > 255U) { tmp_0 = 255; } *rty_out = g_aucSTART_INCAR_FLT_DN[tmp_0 - 1]; } /* * Output and update for atomic system: * '/incar filter up' * '/incar filter up' * '/incar filter up' * '/incar filter up' */ void incarfilterup_j(uint8_t rtu_LVL, uint8_t *rty_out) { int32_t tmp; int32_t tmp_0; /* : out = g_aucSTART_INCAR_FLT_UP(LVL + 1 + 6); */ tmp = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp = 255; } tmp_0 = (int32_t)((uint32_t)tmp + 6U); if ((uint32_t)tmp + 6U > 255U) { tmp_0 = 255; } *rty_out = g_aucSTART_INCAR_FLT_UP[tmp_0 - 1]; } /* * Output and update for atomic system: * '/g_assSTART_COOLANT_STEP0_TO_1 ' * '/g_assSTART_COOLANT_STEP0_TO_1 ' * '/g_assSTART_COOLANT_STEP0_TO_1 ' */ void g_assSTART_COOLANT_STEP0_TO_1_j(uint8_t rtu_LVL, int16_t *rty_out) { int32_t tmp; /* : out = int16(g_assSTART_COOLANT_STEP0_TO_1(LVL + 3)); */ tmp = (int32_t)(rtu_LVL + 3U); if (rtu_LVL + 3U > 255U) { tmp = 255; } *rty_out = g_assSTART_COOLANT_STEP0_TO_1[tmp - 1]; } /* * Output and update for action system: * '/Level 4' * '/Level 5' */ void Level4_h(int8_t *rty_step1, uint8_t *rtd_Blower_RL, uint8_t *rtd_Blower_RR, const uint8_t *rtd_CCU_MODE_RR, uint16_t *rtd_Dtg_RL, uint16_t *rtd_Dtg_RR, const int16_t *rtd_ECT, uint8_t *rtd_Incar_filter_down_value, uint8_t *rtd_Incar_filter_up_value, const uint8_t *rtd_LEVEL, const uint8_t *rtd_LO_HI_MODE_RR, uint8_t *rtd_Mode_RL, uint8_t *rtd_Mode_RR, uint8_t *rtd_Valve_2_way, uint8_t *rtd_Valve_3_way) { int16_t rtb_out_f1h; /* DataStoreWrite: '/Data Store Write5' incorporates: * Constant: '/Constant2' */ *rtd_Blower_RR = 10U; /* DataStoreWrite: '/Data Store Write6' incorporates: * Constant: '/Constant3' */ *rtd_Blower_RL = 10U; /* DataStoreWrite: '/Data Store Write10' incorporates: * Constant: '/Constant4' */ *rtd_Dtg_RR = 800U; /* DataStoreWrite: '/Data Store Write11' incorporates: * Constant: '/Constant4' */ *rtd_Dtg_RL = 800U; /* DataStoreWrite: '/Data Store Write' incorporates: * DataStoreRead: '/Data Store Read1' * MATLAB Function: '/incar filter up' */ incarfilterup_j(*rtd_LEVEL, rtd_Incar_filter_up_value); /* DataStoreWrite: '/Data Store Write1' incorporates: * DataStoreRead: '/Data Store Read2' * MATLAB Function: '/incar filter down' */ incarfilterdown_m(*rtd_LEVEL, rtd_Incar_filter_down_value); /* DataStoreWrite: '/Data Store Write2' incorporates: * Constant: '/Mode - foot' */ *rtd_Mode_RR = 60U; /* DataStoreWrite: '/Data Store Write3' incorporates: * Constant: '/Mode - foot' */ *rtd_Mode_RL = 60U; /* DataStoreWrite: '/Data Store Write8' incorporates: * Constant: '/Valve open' */ *rtd_Valve_3_way = 1U; /* DataStoreWrite: '/Data Store Write9' incorporates: * Constant: '/Valve open' */ *rtd_Valve_2_way = 1U; /* MATLAB Function: '/g_assSTART_COOLANT_STEP0_TO_1 ' incorporates: * DataStoreRead: '/Data Store Read3' */ g_assSTART_COOLANT_STEP0_TO_1_j(*rtd_LEVEL, &rtb_out_f1h); /* Switch: '/Switch1' incorporates: * Constant: '/LO' * Constant: '/exit algorithm' * DataStoreRead: '/Data Store Read11' * DataStoreRead: '/Data Store Read12' * Logic: '/Logical Operator1' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator3' */ if ((*rtd_CCU_MODE_RR != 1) || (*rtd_LO_HI_MODE_RR == 1)) { *rty_step1 = 3; } else { *rty_step1 = (int8_t)(*rtd_ECT > rtb_out_f1h); } /* End of Switch: '/Switch1' */ } /* * Output and update for atomic system: * '/2 way valve' * '/2 way valve' * '/2 way valve' * '/2 way valve' * '/2 way valve' * '/2 way valve' * '/2 way valve' * '/2 way valve' * '/2 way valve' * '/2 way valve' * ... */ void uwayvalve(uint8_t rtu_LVL, uint8_t *rty_out) { int32_t tmp; /* : out = g_aucSTART_2WAY_OPEN(LVL + 1); */ tmp = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp = 255; } *rty_out = g_aucSTART_2WAY_OPEN[tmp - 1]; } /* * Output and update for atomic system: * '/Dtg_rear' * '/Dtg_rear' * '/Dtg_rear' * '/Dtg_rear' * '/Dtg_rear' * '/Dtg_rear' */ void Dtg_rear(uint8_t rtu_LVL, uint8_t *rty_out) { int32_t tmp; /* : out = g_aucSTART_DUCT_TGT_STEP2_RX(LVL + 1); */ tmp = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp = 255; } *rty_out = g_aucSTART_DUCT_TGT_STEP2_RX[tmp - 1]; } /* * Output and update for atomic system: * '/Incar temp goto from step 1 to step 2 ' * '/Incar temp goto from step 1 to step 2 ' * '/Incar temp goto from step 1 to step 2 ' * '/Incar temp goto from step 1 to step 2 ' * '/Incar temp goto from step 1 to step 2 ' * '/Incar temp goto from step 1 to step 2 ' */ void Incartempgotofromstep1tostep2_m(uint8_t rtu_LVL, int16_t *rty_out) { int32_t tmp; int32_t tmp_0; /* : out = int16(g_assSTART_INCAR_STEP1_TO_2(LVL + 1 + 6)); */ tmp = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp = 255; } tmp_0 = (int32_t)((uint32_t)tmp + 6U); if ((uint32_t)tmp + 6U > 255U) { tmp_0 = 255; } *rty_out = g_assSTART_INCAR_STEP1_TO_2[tmp_0 - 1]; } /* * Output and update for atomic system: * '/Time goto from step 1 to step 2 ' * '/Time goto from step 1 to step 2 ' * '/Time goto from step 1 to step 2 ' * '/Time goto from step 1 to step 2 ' * '/Time goto from step 1 to step 2 ' * '/Time goto from step 1 to step 2 ' * '/Time goto from step 1 to step 2 ' * '/Time goto from step 1 to step 2 ' * '/Time goto from step 1 to step 2 ' * '/Time goto from step 1 to step 2 ' * ... */ void Timegotofromstep1tostep2_n(uint8_t rtu_LVL, int16_t *rty_out) { int32_t tmp; int32_t tmp_0; uint16_t tmp_1; /* : out = int16(g_ausSTART_TIME_STEP1_TO_2(LVL + 1 + 6)); */ tmp = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp = 255; } tmp_0 = (int32_t)((uint32_t)tmp + 6U); if ((uint32_t)tmp + 6U > 255U) { tmp_0 = 255; } tmp_1 = g_ausSTART_TIME_STEP1_TO_2[tmp_0 - 1]; if (tmp_1 > 32767) { tmp_1 = 32767U; } *rty_out = (int16_t)tmp_1; } /* * Output and update for atomic system: * '/mode rear step 1' * '/mode rear step 1' * '/mode rear step 1' * '/mode rear step 1' * '/mode rear step 1' * '/mode rear step 1' */ void moderearstep1(uint8_t rtu_LVL, uint8_t *rty_out) { int32_t tmp; int32_t tmp_0; /* : out = g_aucSTART_VALVE_IDX_STEP1(LVL + 1 + 6); */ tmp = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp = 255; } tmp_0 = (int32_t)((uint32_t)tmp + 6U); if ((uint32_t)tmp + 6U > 255U) { tmp_0 = 255; } *rty_out = g_aucSTART_VALVE_IDX_STEP1[tmp_0 - 1]; } /* * System initialize for action system: * '/Level 0' * '/Level 1' */ void Level0_c_Init(DW_Level0_h *localDW) { /* SystemInitialize for MATLAB Function: '/MATLAB Function1' */ MATLABFunction1_Init(&localDW->sf_MATLABFunction1); } /* * Output and update for action system: * '/Level 0' * '/Level 1' */ void Level0_g(int8_t *rty_step, uint8_t *rtd_Blower_RL, uint8_t *rtd_Blower_RR, const uint8_t *rtd_CCU_MODE_RR, uint16_t *rtd_Dtg_RL, uint16_t *rtd_Dtg_RR, const int16_t *rtd_Incar_RR, uint8_t *rtd_Incar_filter_down_value, uint8_t *rtd_Incar_filter_up_value, const uint8_t *rtd_LEVEL, const uint8_t *rtd_LO_HI_MODE_RR, uint8_t *rtd_Mode_RL, uint8_t *rtd_Mode_RR, double *rtd_Recirculation, uint8_t *rtd_Valve_2_way, const uint32_t *rtd_t_now, DW_Level0_h *localDW) { int32_t tmp; int16_t rtb_out_gju; int16_t rtb_out_in; uint8_t rtb_out_ipr; bool rtb_timer_out_b; /* DataStoreWrite: '/Data Store Write9' incorporates: * DataStoreRead: '/Data Store Read6' * MATLAB Function: '/2 way valve' */ uwayvalve(*rtd_LEVEL, rtd_Valve_2_way); /* DataStoreWrite: '/Data Store Write' incorporates: * DataStoreRead: '/Data Store Read1' * MATLAB Function: '/incar filter up' */ incarfilterup_j(*rtd_LEVEL, rtd_Incar_filter_up_value); /* DataStoreWrite: '/Data Store Write1' incorporates: * DataStoreRead: '/Data Store Read2' * MATLAB Function: '/incar filter down' */ incarfilterdown_m(*rtd_LEVEL, rtd_Incar_filter_down_value); /* MATLAB Function: '/mode rear step 1' incorporates: * DataStoreRead: '/Data Store Read5' */ moderearstep1(*rtd_LEVEL, &rtb_out_ipr); /* DataStoreWrite: '/Data Store Write2' */ *rtd_Mode_RR = rtb_out_ipr; /* DataStoreWrite: '/Data Store Write3' */ *rtd_Mode_RL = rtb_out_ipr; /* MATLAB Function: '/blower rear' incorporates: * DataStoreRead: '/Data Store Read7' */ /* : out = g_ausSTART_BLR_AF_STEP12_R(LVL + 1); */ tmp = (int32_t)(*rtd_LEVEL + 1U); if (*rtd_LEVEL + 1U > 255U) { tmp = 255; } /* DataTypeConversion: '/Data Type Conversion' incorporates: * DataStoreWrite: '/Data Store Write5' * MATLAB Function: '/blower rear' */ *rtd_Blower_RR = (uint8_t)g_ausSTART_BLR_AF_STEP12_R[tmp - 1]; /* DataStoreWrite: '/Data Store Write6' incorporates: * DataStoreWrite: '/Data Store Write5' */ *rtd_Blower_RL = *rtd_Blower_RR; /* MATLAB Function: '/Dtg_rear' incorporates: * DataStoreRead: '/Data Store Read8' */ Dtg_rear(*rtd_LEVEL, &rtb_out_ipr); /* Gain: '/Gain' incorporates: * DataStoreWrite: '/Data Store Write10' */ *rtd_Dtg_RR = (uint16_t)(10U * rtb_out_ipr); /* DataStoreWrite: '/Data Store Write11' incorporates: * DataStoreWrite: '/Data Store Write10' */ *rtd_Dtg_RL = *rtd_Dtg_RR; /* DataStoreWrite: '/Data Store Write7' incorporates: * Constant: '/Recirc logic Partial REC' */ *rtd_Recirculation = 1.0; /* MATLAB Function: '/Incar temp goto from step 1 to step 2 ' incorporates: * DataStoreRead: '/Data Store Read3' */ Incartempgotofromstep1tostep2_m(*rtd_LEVEL, &rtb_out_gju); /* MATLAB Function: '/Time goto from step 1 to step 2 ' incorporates: * DataStoreRead: '/Data Store Read4' */ Timegotofromstep1tostep2_n(*rtd_LEVEL, &rtb_out_in); /* MATLAB Function: '/MATLAB Function1' incorporates: * DataStoreRead: '/Data Store Read9' * Gain: '/из сек в мс' */ MATLABFunction1(*rtd_t_now, (uint16_t)(1000 * rtb_out_in), &rtb_timer_out_b, &localDW->sf_MATLABFunction1); /* Switch: '/Switch1' incorporates: * Constant: '/exit algorithm' * Constant: '/not LO or HI' * Constant: '/stay at step 1' * DataStoreRead: '/Data Store Read11' * DataStoreRead: '/Data Store Read12' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator3' * Switch: '/Switch' */ if ((*rtd_CCU_MODE_RR != 1) || (*rtd_LO_HI_MODE_RR != 0)) { *rty_step = 3; } else if ((*rtd_Incar_RR < rtb_out_gju) || rtb_timer_out_b) { /* Switch: '/Switch' incorporates: * Constant: '/go to next step' */ *rty_step = 2; } else { *rty_step = 1; } /* End of Switch: '/Switch1' */ } /* * Output and update for atomic system: * '/blower start finish' * '/blower start finish' * '/blower start finish' * '/blower start finish' */ void blowerstartfinish(uint8_t rtu_LVL, uint16_t rty_out[2]) { int32_t tmp; int32_t tmp_0; /* : start = g_ausSTART_BLR_AF_STEP12_R(LVL + 1); */ /* : finish = g_ausSTART_BLR_AF_STEP12_R(LVL + 1 + 6); */ /* : out = [start, finish]; */ tmp_0 = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp_0 = 255; } rty_out[0] = g_ausSTART_BLR_AF_STEP12_R[tmp_0 - 1]; tmp_0 = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp_0 = 255; } tmp = (int32_t)((uint32_t)tmp_0 + 6U); if ((uint32_t)tmp_0 + 6U > 255U) { tmp = 255; } rty_out[1] = g_ausSTART_BLR_AF_STEP12_R[tmp - 1]; } /* * Output and update for atomic system: * '/ECT min max' * '/ECT min max' * '/ECT min max' */ void ECTminmax_j(uint8_t rtu_LVL, int16_t rty_out[2]) { int32_t tmp; /* : min = int16(g_assSTART_COOLANT_STEP0_TO_1(LVL + 3)); */ /* : max = int16(g_assSTART_COOLANT_TO_STEP2(3)); */ /* : out = [min, max]; */ tmp = (int32_t)(rtu_LVL + 3U); if (rtu_LVL + 3U > 255U) { tmp = 255; } rty_out[0] = g_assSTART_COOLANT_STEP0_TO_1[tmp - 1]; rty_out[1] = g_assSTART_COOLANT_TO_STEP2[2]; } /* * System initialize for action system: * '/Level 4' * '/Level 5' */ void Level4_b_Init(DW_Level4_h *localDW) { /* SystemInitialize for MATLAB Function: '/MATLAB Function1' */ MATLABFunction1_Init(&localDW->sf_MATLABFunction1); } /* * Output and update for action system: * '/Level 4' * '/Level 5' */ void Level4_m(int8_t *rty_step, uint8_t *rtd_Blower_RL, uint8_t *rtd_Blower_RR, const uint8_t *rtd_CCU_MODE_RR, uint16_t *rtd_Dtg_RL, uint16_t *rtd_Dtg_RR, const int16_t *rtd_ECT, const int16_t *rtd_Incar_RR, uint8_t *rtd_Incar_filter_down_value, uint8_t *rtd_Incar_filter_up_value, const uint8_t *rtd_LEVEL, const uint8_t *rtd_LO_HI_MODE_RR, uint8_t *rtd_Mode_RL, uint8_t *rtd_Mode_RR, double *rtd_Recirculation, uint8_t *rtd_Valve_2_way, const uint32_t *rtd_t_now, DW_Level4_h *localDW) { int16_t rtb_out_bbe[2]; int16_t rtb_out_ehv; int16_t rtb_out_opx; uint16_t rtb_out_ext[2]; uint8_t rtb_out_fan; bool rtb_timer_out_b; /* DataStoreWrite: '/Data Store Write9' incorporates: * DataStoreRead: '/Data Store Read6' * MATLAB Function: '/2 way valve' */ uwayvalve(*rtd_LEVEL, rtd_Valve_2_way); /* DataStoreWrite: '/Data Store Write' incorporates: * DataStoreRead: '/Data Store Read1' * MATLAB Function: '/incar filter up' */ incarfilterup_j(*rtd_LEVEL, rtd_Incar_filter_up_value); /* DataStoreWrite: '/Data Store Write1' incorporates: * DataStoreRead: '/Data Store Read2' * MATLAB Function: '/incar filter down' */ incarfilterdown_m(*rtd_LEVEL, rtd_Incar_filter_down_value); /* MATLAB Function: '/mode rear step 1' incorporates: * DataStoreRead: '/Data Store Read5' */ moderearstep1(*rtd_LEVEL, &rtb_out_fan); /* DataStoreWrite: '/Data Store Write2' */ *rtd_Mode_RR = rtb_out_fan; /* DataStoreWrite: '/Data Store Write3' */ *rtd_Mode_RL = rtb_out_fan; /* MATLAB Function: '/blower start finish' incorporates: * DataStoreRead: '/Data Store Read7' */ blowerstartfinish(*rtd_LEVEL, rtb_out_ext); /* MATLAB Function: '/ECT min max' incorporates: * DataStoreRead: '/Data Store Read7' */ ECTminmax_j(*rtd_LEVEL, rtb_out_bbe); /* Lookup_n-D: '/blower для текущего ECT' incorporates: * DataStoreRead: '/engine coolant temp' */ rtb_out_ehv = look1_is16lu64n32tu16Ds32Is16_binlcs(*rtd_ECT, rtb_out_bbe, rtb_out_ext, 1U); /* DataTypeConversion: '/Data Type Conversion' incorporates: * DataStoreWrite: '/Data Store Write5' * DataTypeConversion: '/Data Type Conversion1' */ *rtd_Blower_RR = (uint8_t)rtb_out_ehv; /* DataStoreWrite: '/Data Store Write6' incorporates: * DataStoreWrite: '/Data Store Write5' */ *rtd_Blower_RL = *rtd_Blower_RR; /* MATLAB Function: '/Dtg_rear' incorporates: * DataStoreRead: '/Data Store Read8' */ Dtg_rear(*rtd_LEVEL, &rtb_out_fan); /* Gain: '/Gain' incorporates: * DataStoreWrite: '/Data Store Write10' */ *rtd_Dtg_RR = (uint16_t)(10U * rtb_out_fan); /* DataStoreWrite: '/Data Store Write11' incorporates: * DataStoreWrite: '/Data Store Write10' */ *rtd_Dtg_RL = *rtd_Dtg_RR; /* DataStoreWrite: '/Data Store Write7' incorporates: * Constant: '/Recirc logic Partial REC' */ *rtd_Recirculation = 1.0; /* MATLAB Function: '/Incar temp goto from step 1 to step 2 ' incorporates: * DataStoreRead: '/Data Store Read3' */ Incartempgotofromstep1tostep2_m(*rtd_LEVEL, &rtb_out_opx); /* MATLAB Function: '/Time goto from step 1 to step 2 ' incorporates: * DataStoreRead: '/Data Store Read4' */ Timegotofromstep1tostep2_n(*rtd_LEVEL, &rtb_out_ehv); /* MATLAB Function: '/MATLAB Function1' incorporates: * DataStoreRead: '/Data Store Read9' * Gain: '/из сек в мс' */ MATLABFunction1(*rtd_t_now, (uint16_t)(1000 * rtb_out_ehv), &rtb_timer_out_b, &localDW->sf_MATLABFunction1); /* Switch: '/Switch1' incorporates: * Constant: '/LO' * Constant: '/exit algorithm' * Constant: '/stay at step 1' * DataStoreRead: '/Data Store Read11' * DataStoreRead: '/Data Store Read12' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator3' * RelationalOperator: '/Relational Operator4' * Switch: '/Switch' */ if ((*rtd_CCU_MODE_RR != 1) || (*rtd_LO_HI_MODE_RR == 1)) { *rty_step = 3; } else if ((*rtd_Incar_RR > rtb_out_opx) || rtb_timer_out_b) { /* Switch: '/Switch' incorporates: * Constant: '/go to next step' */ *rty_step = 2; } else { *rty_step = 1; } /* End of Switch: '/Switch1' */ } /* * Output and update for atomic system: * '/time for step' * '/time for step' * '/time for step' * '/time for step' * '/time for step' * '/time for step' */ void timeforstep_k(uint8_t rtu_LVL, uint8_t *rty_out) { int32_t tmp; int32_t tmp_0; /* : out = g_aucSTART_DUCT_TGT_STEP2_RX(LVL + 1 + 6); */ tmp = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp = 255; } tmp_0 = (int32_t)((uint32_t)tmp + 6U); if ((uint32_t)tmp + 6U > 255U) { tmp_0 = 255; } *rty_out = g_aucSTART_DUCT_TGT_STEP2_RX[tmp_0 - 1]; } /* * Output and update for atomic system: * '/blower step' * '/blower step' * '/blower step' * '/blower step' * '/blower step' * '/blower step' */ void blowerstep_c(uint8_t rtu_LVL, uint16_t *rty_out) { int32_t tmp; /* : out = g_ausSTART_BLR_SPD_STEP2_R(LVL + 1); */ tmp = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp = 255; } *rty_out = g_ausSTART_BLR_SPD_STEP2_R[tmp - 1]; } /* * Output and update for atomic system: * '/blower time for step' * '/blower time for step' * '/blower time for step' * '/blower time for step' * '/blower time for step' * '/blower time for step' */ void blowertimeforstep_k(uint8_t rtu_LVL, uint16_t *rty_out) { int32_t tmp; int32_t tmp_0; /* : out = g_ausSTART_BLR_SPD_STEP2_R(LVL + 1 + 6); */ tmp = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp = 255; } tmp_0 = (int32_t)((uint32_t)tmp + 6U); if ((uint32_t)tmp + 6U > 255U) { tmp_0 = 255; } *rty_out = g_ausSTART_BLR_SPD_STEP2_R[tmp_0 - 1]; } /* * Output and update for atomic system: * '/step' * '/step' * '/step' * '/step' * '/step' * '/step' */ void step_a(uint8_t rtu_LVL, uint8_t *rty_out) { int32_t tmp; /* : out = g_aucSTART_VALVE_CHANGE_SPD_R(LVL + 1); */ tmp = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp = 255; } *rty_out = g_aucSTART_VALVE_CHANGE_SPD_R[tmp - 1]; } /* * Output and update for atomic system: * '/time for step' * '/time for step' * '/time for step' * '/time for step' * '/time for step' * '/time for step' */ void timeforstep_dm(uint8_t rtu_LVL, uint8_t *rty_out) { int32_t tmp; int32_t tmp_0; /* : out = g_aucSTART_VALVE_CHANGE_SPD_R(LVL + 1 + 6); */ tmp = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { tmp = 255; } tmp_0 = (int32_t)((uint32_t)tmp + 6U); if ((uint32_t)tmp + 6U > 255U) { tmp_0 = 255; } *rty_out = g_aucSTART_VALVE_CHANGE_SPD_R[tmp_0 - 1]; } /* * System initialize for action system: * '/Level 0' * '/Level 1' */ void Level0_h_Init(DW_Level0_hr *localDW) { /* SystemInitialize for MATLAB Function: '/MATLAB Function1' */ MATLABFunction1_Init(&localDW->sf_MATLABFunction1); } /* * Output and update for action system: * '/Level 0' * '/Level 1' */ void Level0_a(int8_t *rty_step, uint8_t *rtd_Blower_RL, uint8_t *rtd_Blower_RR, const uint16_t *rtd_Blower_logic_RR, const uint8_t *rtd_CCU_MODE_FL, uint16_t *rtd_Dtg_RL, uint16_t *rtd_Dtg_RR, const int16_t *rtd_Dtg_logic_RR, uint8_t *rtd_Incar_filter_down_value, uint8_t *rtd_Incar_filter_up_value, const uint8_t *rtd_LEVEL, const uint8_t *rtd_LO_HI_MODE_FL, uint8_t *rtd_Mode_RL, uint8_t *rtd_Mode_RR, const uint8_t *rtd_Mode_logic_RR, double *rtd_Recirculation, uint8_t *rtd_Valve_2_way, const uint32_t *rtd_t_now, DW_Level0_hr *localDW) { int32_t tmp; int16_t rtb_out_phm; uint16_t rtb_out_e0t; uint16_t rtb_out_i2; uint8_t rtb_out_ku0; uint8_t rtb_out_lyu; bool rtb_LogicalOperator1_e4; bool rtb_timer_out_p; /* DataStoreWrite: '/Data Store Write9' incorporates: * DataStoreRead: '/Data Store Read6' * MATLAB Function: '/2 way valve' */ uwayvalve(*rtd_LEVEL, rtd_Valve_2_way); /* Sum: '/Add' incorporates: * DataStoreRead: '/Текущее значение blower ' * DataStoreRead: '/значение auto (в соответствии с логикой)' */ rtb_out_phm = (int16_t)((*rtd_Dtg_RR - *rtd_Dtg_logic_RR) >> 1); /* Abs: '/Abs' */ if (rtb_out_phm < 0) { rtb_out_phm = (int16_t)-rtb_out_phm; } /* End of Abs: '/Abs' */ /* MATLAB Function: '/step' incorporates: * DataStoreRead: '/Data Store Read8' */ Dtg_rear(*rtd_LEVEL, &rtb_out_ku0); /* MATLAB Function: '/time for step' incorporates: * DataStoreRead: '/Data Store Read8' */ timeforstep_k(*rtd_LEVEL, &rtb_out_lyu); /* Switch: '/Switch' incorporates: * Constant: '/Constant' * Constant: '/epsilon' * DataStoreRead: '/Текущее значение blower ' * DataStoreRead: '/значение auto (в соответствии с логикой)' * DataStoreRead: '/текущее время в мс' * DataStoreWrite: '/Data Store Write10' * Gain: '/Gain' * Product: '/Product1' * Product: '/change rate (dtg//sec)' * Product: '/скорость в мс' * Product: '/шаг изменения' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator' * Sum: '/Add' * Sum: '/Subtract' * Switch: '/Switch' * UnitDelay: '/Unit Delay' */ if ((double)rtb_out_phm * 2.0 <= 0.01) { *rtd_Dtg_RR = (uint16_t)*rtd_Dtg_logic_RR; } else { if (*rtd_Dtg_RR <= *rtd_Dtg_logic_RR) { /* Switch: '/Switch' incorporates: * Constant: '/Constant' */ tmp = 1; } else { /* Switch: '/Switch' incorporates: * Constant: '/Constant1' */ tmp = -1; } *rtd_Dtg_RR = (uint16_t)rt_roundd(10.0 * (double)rtb_out_ku0 / (double) rtb_out_lyu / 1000.0 * (double)(*rtd_t_now - localDW->UnitDelay_DSTATE) * (double)tmp + (double)*rtd_Dtg_RR); } /* End of Switch: '/Switch' */ /* DataStoreWrite: '/Data Store Write11' incorporates: * DataStoreWrite: '/Data Store Write10' */ *rtd_Dtg_RL = *rtd_Dtg_RR; /* DataStoreWrite: '/Data Store Write' incorporates: * DataStoreRead: '/Data Store Read1' * MATLAB Function: '/incar filter up' */ incarfilterup_j(*rtd_LEVEL, rtd_Incar_filter_up_value); /* DataStoreWrite: '/Data Store Write1' incorporates: * DataStoreRead: '/Data Store Read2' * MATLAB Function: '/incar filter down' */ incarfilterdown_m(*rtd_LEVEL, rtd_Incar_filter_down_value); /* Sum: '/Add' incorporates: * DataStoreRead: '/Текущее значение blower ' * DataStoreRead: '/значение auto (в соответствии с логикой)' */ rtb_out_ku0 = (uint8_t)(*rtd_Mode_RR - *rtd_Mode_logic_RR); /* RelationalOperator: '/Relational Operator' incorporates: * Constant: '/epsilon' */ rtb_timer_out_p = (rtb_out_ku0 <= 0.01); /* MATLAB Function: '/step' incorporates: * DataStoreRead: '/Data Store Read5' */ step_a(*rtd_LEVEL, &rtb_out_lyu); /* MATLAB Function: '/time for step' incorporates: * DataStoreRead: '/Data Store Read5' */ timeforstep_dm(*rtd_LEVEL, &rtb_out_ku0); /* Switch: '/Switch' incorporates: * Constant: '/Constant' * DataStoreRead: '/Текущее значение blower ' * DataStoreRead: '/значение auto (в соответствии с логикой)' * DataStoreRead: '/текущее время в мс' * DataStoreWrite: '/Data Store Write2' * Product: '/Product1' * Product: '/change rate (step//sec)' * Product: '/скорость в мс' * Product: '/шаг изменения' * RelationalOperator: '/Relational Operator' * Sum: '/Add' * Sum: '/Subtract' * Switch: '/Switch' * UnitDelay: '/Unit Delay' */ if (rtb_timer_out_p) { *rtd_Mode_RR = *rtd_Mode_logic_RR; } else { if (*rtd_Mode_RR <= *rtd_Mode_logic_RR) { /* Switch: '/Switch' incorporates: * Constant: '/Constant' */ tmp = 1; } else { /* Switch: '/Switch' incorporates: * Constant: '/Constant1' */ tmp = -1; } *rtd_Mode_RR = (uint8_t)((double)rtb_out_lyu / (double)rtb_out_ku0 / 1000.0 * (double)(*rtd_t_now - localDW->UnitDelay_DSTATE_k) * (double)tmp + (double)* rtd_Mode_RR); } /* End of Switch: '/Switch' */ /* DataStoreWrite: '/Data Store Write3' incorporates: * DataStoreWrite: '/Data Store Write2' */ *rtd_Mode_RL = *rtd_Mode_RR; /* Sum: '/Add' incorporates: * DataStoreRead: '/Текущее значение blower ' * DataStoreRead: '/значение auto (в соответствии с логикой)' */ rtb_out_e0t = (uint16_t)(*rtd_Blower_RR - *rtd_Blower_logic_RR); /* RelationalOperator: '/Relational Operator' incorporates: * Constant: '/epsilon' */ rtb_timer_out_p = (rtb_out_e0t <= 0.01); /* MATLAB Function: '/blower step' incorporates: * DataStoreRead: '/Data Store Read7' */ blowerstep_c(*rtd_LEVEL, &rtb_out_i2); /* MATLAB Function: '/blower time for step' incorporates: * DataStoreRead: '/Data Store Read7' */ blowertimeforstep_k(*rtd_LEVEL, &rtb_out_e0t); /* Switch: '/Switch' incorporates: * Constant: '/Constant' * DataStoreRead: '/Текущее значение blower ' * DataStoreRead: '/значение auto (в соответствии с логикой)' * DataStoreRead: '/текущее время в мс' * DataStoreWrite: '/Data Store Write5' * Product: '/Product1' * Product: '/change rate (step//sec)' * Product: '/скорость в мс' * Product: '/шаг изменения' * RelationalOperator: '/Relational Operator' * Sum: '/Add' * Sum: '/Subtract' * Switch: '/Switch' * UnitDelay: '/Unit Delay' */ if (rtb_timer_out_p) { *rtd_Blower_RR = (uint8_t)*rtd_Blower_logic_RR; } else { if (*rtd_Blower_RR <= *rtd_Blower_logic_RR) { /* Switch: '/Switch' incorporates: * Constant: '/Constant' */ tmp = 1; } else { /* Switch: '/Switch' incorporates: * Constant: '/Constant1' */ tmp = -1; } *rtd_Blower_RR = (uint8_t)((double)rtb_out_i2 / (double)rtb_out_e0t / 1000.0 * (double)(*rtd_t_now - localDW->UnitDelay_DSTATE_n) * (double)tmp + (double)*rtd_Blower_RR); } /* End of Switch: '/Switch' */ /* DataStoreWrite: '/Data Store Write6' incorporates: * DataStoreWrite: '/Data Store Write5' */ *rtd_Blower_RL = *rtd_Blower_RR; /* DataStoreWrite: '/Data Store Write7' incorporates: * Constant: '/Recirc logic Partial REC' */ *rtd_Recirculation = 1.0; /* RelationalOperator: '/Relational Operator2' incorporates: * DataStoreRead: '/Data Store Read11' */ rtb_timer_out_p = (*rtd_CCU_MODE_FL != 1); /* Logic: '/Logical Operator1' incorporates: * Constant: '/not LO or HI' * DataStoreRead: '/Data Store Read12' * RelationalOperator: '/Relational Operator3' */ rtb_LogicalOperator1_e4 = (rtb_timer_out_p || (*rtd_LO_HI_MODE_FL != 0)); /* MATLAB Function: '/Time goto from step 1 to step 2 ' incorporates: * DataStoreRead: '/Data Store Read4' */ Timegotofromstep1tostep2_n(*rtd_LEVEL, &rtb_out_phm); /* MATLAB Function: '/MATLAB Function1' incorporates: * DataStoreRead: '/Data Store Read3' * Gain: '/из сек в мс' */ MATLABFunction1(*rtd_t_now, (uint16_t)(1000 * rtb_out_phm), &rtb_timer_out_p, &localDW->sf_MATLABFunction1); /* Switch: '/Switch1' incorporates: * Constant: '/exit algorithm' * Constant: '/stay at step' * Switch: '/Switch' */ if (rtb_LogicalOperator1_e4) { *rty_step = 3; } else if (rtb_timer_out_p) { /* Switch: '/Switch' incorporates: * Constant: '/go to next step' */ *rty_step = 3; } else { *rty_step = 2; } /* End of Switch: '/Switch1' */ /* Update for UnitDelay: '/Unit Delay' incorporates: * DataStoreRead: '/текущее время в мс' */ localDW->UnitDelay_DSTATE = *rtd_t_now; /* Update for UnitDelay: '/Unit Delay' incorporates: * DataStoreRead: '/текущее время в мс' */ localDW->UnitDelay_DSTATE_k = *rtd_t_now; /* Update for UnitDelay: '/Unit Delay' incorporates: * DataStoreRead: '/текущее время в мс' */ localDW->UnitDelay_DSTATE_n = *rtd_t_now; } /* * System initialize for action system: * '/Level 2' * '/Level 3' * '/Level 4' * '/Level 5' */ void Level2_j_Init(DW_Level2_j *localDW) { /* SystemInitialize for MATLAB Function: '/MATLAB Function1' */ MATLABFunction1_Init(&localDW->sf_MATLABFunction1); } /* * Output and update for action system: * '/Level 2' * '/Level 3' * '/Level 4' * '/Level 5' */ void Level2_f(int8_t *rty_step, uint8_t *rtd_Blower_RL, uint8_t *rtd_Blower_RR, const uint16_t *rtd_Blower_logic_RR, const uint8_t *rtd_CCU_MODE_FL, uint16_t *rtd_Dtg_RL, uint16_t *rtd_Dtg_RR, const int16_t *rtd_Dtg_logic_RR, const bool *rtd_HI_logic_on, uint8_t *rtd_Incar_filter_down_value, uint8_t *rtd_Incar_filter_up_value, const uint8_t *rtd_LEVEL, const uint8_t *rtd_LO_HI_MODE_FL, uint8_t *rtd_Mode_RL, uint8_t *rtd_Mode_RR, const uint8_t *rtd_Mode_logic_RR, double *rtd_Recirculation, uint8_t *rtd_Valve_2_way, const uint32_t *rtd_t_now, DW_Level2_j *localDW) { int32_t tmp; int16_t rtb_out_k1; uint16_t rtb_out_khn; uint16_t rtb_out_mxv; uint8_t rtb_out_bn; uint8_t rtb_out_n0g; bool rtb_RelationalOperator2_aen; /* DataStoreWrite: '/Data Store Write9' incorporates: * DataStoreRead: '/Data Store Read6' * MATLAB Function: '/2 way valve' */ uwayvalve(*rtd_LEVEL, rtd_Valve_2_way); /* Sum: '/Add' incorporates: * DataStoreRead: '/Текущее значение blower ' * DataStoreRead: '/значение auto (в соответствии с логикой)' */ rtb_out_k1 = (int16_t)((*rtd_Dtg_RR - *rtd_Dtg_logic_RR) >> 1); /* Abs: '/Abs' */ if (rtb_out_k1 < 0) { rtb_out_k1 = (int16_t)-rtb_out_k1; } /* End of Abs: '/Abs' */ /* MATLAB Function: '/step' incorporates: * DataStoreRead: '/Data Store Read8' */ Dtg_rear(*rtd_LEVEL, &rtb_out_bn); /* MATLAB Function: '/time for step' incorporates: * DataStoreRead: '/Data Store Read8' */ timeforstep_k(*rtd_LEVEL, &rtb_out_n0g); /* Switch: '/Switch' incorporates: * Constant: '/Constant' * Constant: '/epsilon' * DataStoreRead: '/Текущее значение blower ' * DataStoreRead: '/значение auto (в соответствии с логикой)' * DataStoreRead: '/текущее время в мс' * DataStoreWrite: '/Data Store Write10' * Gain: '/Gain' * Product: '/Product1' * Product: '/change rate (dtg//sec)' * Product: '/скорость в мс' * Product: '/шаг изменения' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator' * Sum: '/Add' * Sum: '/Subtract' * Switch: '/Switch' * UnitDelay: '/Unit Delay' */ if ((double)rtb_out_k1 * 2.0 <= 0.01) { *rtd_Dtg_RR = (uint16_t)*rtd_Dtg_logic_RR; } else { if (*rtd_Dtg_RR <= *rtd_Dtg_logic_RR) { /* Switch: '/Switch' incorporates: * Constant: '/Constant' */ tmp = 1; } else { /* Switch: '/Switch' incorporates: * Constant: '/Constant1' */ tmp = -1; } *rtd_Dtg_RR = (uint16_t)rt_roundd(10.0 * (double)rtb_out_bn / (double) rtb_out_n0g / 1000.0 * (double)(*rtd_t_now - localDW->UnitDelay_DSTATE) * (double)tmp + (double)*rtd_Dtg_RR); } /* End of Switch: '/Switch' */ /* DataStoreWrite: '/Data Store Write11' incorporates: * DataStoreWrite: '/Data Store Write10' */ *rtd_Dtg_RL = *rtd_Dtg_RR; /* DataStoreWrite: '/Data Store Write' incorporates: * DataStoreRead: '/Data Store Read1' * MATLAB Function: '/incar filter up' */ incarfilterup_j(*rtd_LEVEL, rtd_Incar_filter_up_value); /* DataStoreWrite: '/Data Store Write1' incorporates: * DataStoreRead: '/Data Store Read2' * MATLAB Function: '/incar filter down' */ incarfilterdown_m(*rtd_LEVEL, rtd_Incar_filter_down_value); /* Sum: '/Add' incorporates: * DataStoreRead: '/Текущее значение blower ' * DataStoreRead: '/значение auto (в соответствии с логикой)' */ rtb_out_bn = (uint8_t)(*rtd_Mode_RR - *rtd_Mode_logic_RR); /* RelationalOperator: '/Relational Operator' incorporates: * Constant: '/epsilon' */ rtb_RelationalOperator2_aen = (rtb_out_bn <= 0.01); /* MATLAB Function: '/step' incorporates: * DataStoreRead: '/Data Store Read5' */ step_a(*rtd_LEVEL, &rtb_out_n0g); /* MATLAB Function: '/time for step' incorporates: * DataStoreRead: '/Data Store Read5' */ timeforstep_dm(*rtd_LEVEL, &rtb_out_bn); /* Switch: '/Switch' incorporates: * Constant: '/Constant' * DataStoreRead: '/Текущее значение blower ' * DataStoreRead: '/значение auto (в соответствии с логикой)' * DataStoreRead: '/текущее время в мс' * DataStoreWrite: '/Data Store Write2' * Product: '/Product1' * Product: '/change rate (step//sec)' * Product: '/скорость в мс' * Product: '/шаг изменения' * RelationalOperator: '/Relational Operator' * Sum: '/Add' * Sum: '/Subtract' * Switch: '/Switch' * UnitDelay: '/Unit Delay' */ if (rtb_RelationalOperator2_aen) { *rtd_Mode_RR = *rtd_Mode_logic_RR; } else { if (*rtd_Mode_RR <= *rtd_Mode_logic_RR) { /* Switch: '/Switch' incorporates: * Constant: '/Constant' */ tmp = 1; } else { /* Switch: '/Switch' incorporates: * Constant: '/Constant1' */ tmp = -1; } *rtd_Mode_RR = (uint8_t)((double)rtb_out_n0g / (double)rtb_out_bn / 1000.0 * (double)(*rtd_t_now - localDW->UnitDelay_DSTATE_n) * (double)tmp + (double)* rtd_Mode_RR); } /* End of Switch: '/Switch' */ /* DataStoreWrite: '/Data Store Write3' incorporates: * DataStoreWrite: '/Data Store Write2' */ *rtd_Mode_RL = *rtd_Mode_RR; /* Sum: '/Add' incorporates: * DataStoreRead: '/Текущее значение blower ' * DataStoreRead: '/значение auto (в соответствии с логикой)' */ rtb_out_khn = (uint16_t)(*rtd_Blower_RR - *rtd_Blower_logic_RR); /* RelationalOperator: '/Relational Operator' incorporates: * Constant: '/epsilon' */ rtb_RelationalOperator2_aen = (rtb_out_khn <= 0.01); /* MATLAB Function: '/blower step' incorporates: * DataStoreRead: '/Data Store Read7' */ blowerstep_c(*rtd_LEVEL, &rtb_out_mxv); /* MATLAB Function: '/blower time for step' incorporates: * DataStoreRead: '/Data Store Read7' */ blowertimeforstep_k(*rtd_LEVEL, &rtb_out_khn); /* Switch: '/Switch' incorporates: * Constant: '/Constant' * DataStoreRead: '/Текущее значение blower ' * DataStoreRead: '/значение auto (в соответствии с логикой)' * DataStoreRead: '/текущее время в мс' * DataStoreWrite: '/Data Store Write5' * Product: '/Product1' * Product: '/change rate (step//sec)' * Product: '/скорость в мс' * Product: '/шаг изменения' * RelationalOperator: '/Relational Operator' * Sum: '/Add' * Sum: '/Subtract' * Switch: '/Switch' * UnitDelay: '/Unit Delay' */ if (rtb_RelationalOperator2_aen) { *rtd_Blower_RR = (uint8_t)*rtd_Blower_logic_RR; } else { if (*rtd_Blower_RR <= *rtd_Blower_logic_RR) { /* Switch: '/Switch' incorporates: * Constant: '/Constant' */ tmp = 1; } else { /* Switch: '/Switch' incorporates: * Constant: '/Constant1' */ tmp = -1; } *rtd_Blower_RR = (uint8_t)((double)rtb_out_mxv / (double)rtb_out_khn / 1000.0 * (double)(*rtd_t_now - localDW->UnitDelay_DSTATE_p) * (double)tmp + (double)*rtd_Blower_RR); } /* End of Switch: '/Switch' */ /* DataStoreWrite: '/Data Store Write6' incorporates: * DataStoreWrite: '/Data Store Write5' */ *rtd_Blower_RL = *rtd_Blower_RR; /* DataStoreWrite: '/Data Store Write7' incorporates: * Constant: '/Recirc logic Partial REC' */ *rtd_Recirculation = 1.0; /* MATLAB Function: '/Time goto from step 1 to step 2 ' incorporates: * DataStoreRead: '/Data Store Read4' */ Timegotofromstep1tostep2_n(*rtd_LEVEL, &rtb_out_k1); /* MATLAB Function: '/MATLAB Function1' incorporates: * DataStoreRead: '/Data Store Read3' * Gain: '/из сек в мс' */ MATLABFunction1(*rtd_t_now, (uint16_t)(1000 * rtb_out_k1), &rtb_RelationalOperator2_aen, &localDW->sf_MATLABFunction1); /* Switch: '/Switch1' incorporates: * Constant: '/exit algorithm' * Constant: '/not LO or HI' * Constant: '/stay at step' * DataStoreRead: '/Data Store Read11' * DataStoreRead: '/Data Store Read12' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator3' * Switch: '/Switch' */ if ((*rtd_CCU_MODE_FL != 1) || (*rtd_LO_HI_MODE_FL != 0)) { *rty_step = 3; } else if (rtb_RelationalOperator2_aen || (*rtd_HI_logic_on)) { /* Switch: '/Switch' incorporates: * Constant: '/go to next step' */ *rty_step = 3; } else { *rty_step = 2; } /* End of Switch: '/Switch1' */ /* Update for UnitDelay: '/Unit Delay' incorporates: * DataStoreRead: '/текущее время в мс' */ localDW->UnitDelay_DSTATE = *rtd_t_now; /* Update for UnitDelay: '/Unit Delay' incorporates: * DataStoreRead: '/текущее время в мс' */ localDW->UnitDelay_DSTATE_n = *rtd_t_now; /* Update for UnitDelay: '/Unit Delay' incorporates: * DataStoreRead: '/текущее время в мс' */ localDW->UnitDelay_DSTATE_p = *rtd_t_now; } /* * Output and update for atomic system: * '/func g_assAUTO_STEP_DUCT_TG_U' * '/func g_assAUTO_STEP_DUCT_TG_U' */ void funcg_assAUTO_STEP_DUCT_TG_U(uint8_t rtu_LVL, double rtu_AF_STEP, int16_t *rty_y) { int32_t i; int16_t selected_vector[5]; /* : switch LVL */ switch (rtu_LVL) { case 0U: /* : case 0 */ /* : selected_vector = g_assAUTO_STEP_DUCT_TG_U_F_LV0_1(1:5); */ for (i = 0; i < 5; i++) { selected_vector[i] = g_assAUTO_STEP_DUCT_TG_U_F_LV0_1[i]; } break; case 1U: /* : case 1 */ /* : selected_vector = g_assAUTO_STEP_DUCT_TG_U_F_LV0_1(6:10); */ for (i = 0; i < 5; i++) { selected_vector[i] = g_assAUTO_STEP_DUCT_TG_U_F_LV0_1[i + 5]; } break; case 2U: /* : case 2 */ /* : selected_vector = g_assAUTO_STEP_DUCT_TG_U_F_LV2_3(1:5); */ for (i = 0; i < 5; i++) { selected_vector[i] = g_assAUTO_STEP_DUCT_TG_U_F_LV2_3[i]; } break; case 3U: /* : case 3 */ /* : selected_vector = g_assAUTO_STEP_DUCT_TG_U_F_LV2_3(6:10); */ for (i = 0; i < 5; i++) { selected_vector[i] = g_assAUTO_STEP_DUCT_TG_U_F_LV2_3[i + 5]; } break; case 4U: /* : case 4 */ /* : selected_vector = g_assAUTO_STEP_DUCT_TG_U_F_LV4_5(1:5); */ for (i = 0; i < 5; i++) { selected_vector[i] = g_assAUTO_STEP_DUCT_TG_U_F_LV4_5[i]; } break; case 5U: /* : case 5 */ /* : selected_vector = g_assAUTO_STEP_DUCT_TG_U_F_LV4_5(6:10); */ for (i = 0; i < 5; i++) { selected_vector[i] = g_assAUTO_STEP_DUCT_TG_U_F_LV4_5[i + 5]; } break; default: /* : otherwise */ /* : selected_vector = int16(zeros(1,5)); */ for (i = 0; i < 5; i++) { selected_vector[i] = 0; } break; } /* : y = selected_vector(AF_STEP); */ *rty_y = selected_vector[(int32_t)rtu_AF_STEP - 1]; } /* * Output and update for atomic system: * '/func g_assAUTO_STEP_DUCT_TG_L' * '/func g_assAUTO_STEP_DUCT_TG_L' */ void funcg_assAUTO_STEP_DUCT_TG_L(uint8_t rtu_LVL, double rtu_AF_STEP, int16_t *rty_y) { int32_t i; int16_t selected_vector[5]; /* : switch LVL */ switch (rtu_LVL) { case 0U: /* : case 0 */ /* : selected_vector = g_assAUTO_STEP_DUCT_TG_L_F_LV0_1(1:5); */ for (i = 0; i < 5; i++) { selected_vector[i] = g_assAUTO_STEP_DUCT_TG_L_F_LV0_1[i]; } break; case 1U: /* : case 1 */ /* : selected_vector = g_assAUTO_STEP_DUCT_TG_L_F_LV0_1(6:10); */ for (i = 0; i < 5; i++) { selected_vector[i] = g_assAUTO_STEP_DUCT_TG_L_F_LV0_1[i + 5]; } break; case 2U: /* : case 2 */ /* : selected_vector = g_assAUTO_STEP_DUCT_TG_L_F_LV2_3(1:5); */ for (i = 0; i < 5; i++) { selected_vector[i] = g_assAUTO_STEP_DUCT_TG_L_F_LV2_3[i]; } break; case 3U: /* : case 3 */ /* : selected_vector = g_assAUTO_STEP_DUCT_TG_L_F_LV2_3(6:10); */ for (i = 0; i < 5; i++) { selected_vector[i] = g_assAUTO_STEP_DUCT_TG_L_F_LV2_3[i + 5]; } break; case 4U: /* : case 4 */ /* : selected_vector = g_assAUTO_STEP_DUCT_TG_L_F_LV4_5(1:5); */ for (i = 0; i < 5; i++) { selected_vector[i] = g_assAUTO_STEP_DUCT_TG_L_F_LV4_5[i]; } break; case 5U: /* : case 5 */ /* : selected_vector = g_assAUTO_STEP_DUCT_TG_L_F_LV4_5(6:10); */ for (i = 0; i < 5; i++) { selected_vector[i] = g_assAUTO_STEP_DUCT_TG_L_F_LV4_5[i + 5]; } break; default: /* : otherwise */ /* : selected_vector = int16(zeros(1,5)); */ for (i = 0; i < 5; i++) { selected_vector[i] = 0; } break; } /* : y = selected_vector(AF_STEP); */ *rty_y = selected_vector[(int32_t)rtu_AF_STEP - 1]; } /* * Output and update for atomic system: * '/func g_assAUTO_STEP_DUCT_TG_R' * '/func g_assAUTO_STEP_DUCT_TG_R' */ void funcg_assAUTO_STEP_DUCT_TG_R(uint8_t rtu_LVL, double rtu_AF_STEP, int16_t *rty_y) { int32_t i; int16_t selected_vector[5]; /* : switch LVL */ switch (rtu_LVL) { case 0U: /* : case 0 */ /* : selected_vector = g_assAUTO_STEP_DUCT_TG_R_LV0_1(1:5); */ for (i = 0; i < 5; i++) { selected_vector[i] = g_assAUTO_STEP_DUCT_TG_R_LV0_1[i]; } break; case 1U: /* : case 1 */ /* : selected_vector = g_assAUTO_STEP_DUCT_TG_R_LV0_1(6:10); */ for (i = 0; i < 5; i++) { selected_vector[i] = g_assAUTO_STEP_DUCT_TG_R_LV0_1[i + 5]; } break; case 2U: /* : case 2 */ /* : selected_vector = g_assAUTO_STEP_DUCT_TG_R_LV2_3(1:5); */ for (i = 0; i < 5; i++) { selected_vector[i] = g_assAUTO_STEP_DUCT_TG_R_LV2_3[i]; } break; case 3U: /* : case 3 */ /* : selected_vector = g_assAUTO_STEP_DUCT_TG_R_LV2_3(6:10); */ for (i = 0; i < 5; i++) { selected_vector[i] = g_assAUTO_STEP_DUCT_TG_R_LV2_3[i + 5]; } break; case 4U: /* : case 4 */ /* : selected_vector = g_assAUTO_STEP_DUCT_TG_R_LV4_5(1:5); */ for (i = 0; i < 5; i++) { selected_vector[i] = g_assAUTO_STEP_DUCT_TG_R_LV4_5[i]; } break; case 5U: /* : case 5 */ /* : selected_vector = g_assAUTO_STEP_DUCT_TG_R_LV4_5(6:10); */ for (i = 0; i < 5; i++) { selected_vector[i] = g_assAUTO_STEP_DUCT_TG_R_LV4_5[i + 5]; } break; default: /* : otherwise */ /* : selected_vector = int16(zeros(1,5)); */ for (i = 0; i < 5; i++) { selected_vector[i] = 0; } break; } /* : y = selected_vector(AF_STEP); */ *rty_y = selected_vector[(int32_t)rtu_AF_STEP - 1]; } /* * Output and update for atomic system: * '/correction rate' * '/correction rate' */ void correctionrate(int16_t rtu_SET, uint8_t rtu_LVL, int16_t *rty_y) { int32_t i; int32_t tmp_0; int16_t tmp[42]; /* : correct_rate = [g_assCORRECT_DUCT_RATE_LV0; g_assCORRECT_DUCT_RATE_LV1; g_assCORRECT_DUCT_RATE_LV2; g_assCORRECT_DUCT_RATE_LV3; g_assCORRECT_DUCT_RATE_LV4; g_assCORRECT_DUCT_RATE_LV5]; */ /* : y = correct_rate(LVL + 1, idivide(SET - 16 + 1, 2)); */ for (i = 0; i < 7; i++) { tmp[6 * i] = g_assCORRECT_DUCT_RATE_LV0[i]; tmp[6 * i + 1] = g_assCORRECT_DUCT_RATE_LV1[i]; tmp[6 * i + 2] = g_assCORRECT_DUCT_RATE_LV2[i]; tmp[6 * i + 3] = g_assCORRECT_DUCT_RATE_LV3[i]; tmp[6 * i + 4] = g_assCORRECT_DUCT_RATE_LV4[i]; tmp[6 * i + 5] = g_assCORRECT_DUCT_RATE_LV5[i]; } i = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { i = 255; } tmp_0 = rtu_SET - 16; if (rtu_SET - 16 < -32768) { tmp_0 = -32768; } *rty_y = tmp[(((int32_t)trunc(((double)tmp_0 + 1.0) / 2.0) - 1) * 6 + i) - 1]; } /* * Output and update for atomic system: * '/is_ending_with_5' * '/is_ending_with_5' * '/is_ending_with_5' * '/is_ending_with_5' */ void is_ending_with_5(uint16_t rtu_SET, bool *rty_is_ending_with_5) { /* : is_ending_with_5 = (mod(SET, 10) == 5); */ *rty_is_ending_with_5 = ((uint16_t)(rtu_SET - (uint32_t)((int32_t)(rtu_SET / 10U) * 10)) == 5); } /* * System initialize for atomic system: * '/filter duct' * '/filter duct' * '/filter duct' * '/filter duct' * '/filter duct' * '/filter duct' */ void filterduct_Init(DW_filterduct *localDW) { localDW->prev_value_not_empty = false; } /* * Output and update for atomic system: * '/filter duct' * '/filter duct' * '/filter duct' * '/filter duct' * '/filter duct' * '/filter duct' */ void filterduct(int16_t rtu_duct, bool rtu_is_filter_active, uint32_t rtu_t_now, int16_t *rty_duct_filtered, DW_filterduct *localDW) { double tmp; /* : MAX_SPEED_RISING = 10; */ /* : MAX_SPEED_FALLING = 10; */ /* : if isempty(prev_value) */ if (!localDW->prev_value_not_empty) { /* : prev_value = double(duct); */ localDW->prev_value = rtu_duct; localDW->prev_value_not_empty = true; /* : prev_time = double(t_now); */ localDW->prev_time = rtu_t_now; } /* : if is_filter_active */ if (rtu_is_filter_active) { /* : dt = (double(t_now) - prev_time) / 1000; */ /* : max_up = MAX_SPEED_RISING * dt * 10; */ /* : max_down = MAX_SPEED_FALLING * dt * 10; */ /* : duct_filtered = int16(min(max(double(duct), prev_value - max_down), prev_value + max_up)); */ tmp = ((double)rtu_t_now - localDW->prev_time) / 1000.0 * 10.0 * 10.0; tmp = rt_roundd(fmin(fmax(rtu_duct, localDW->prev_value - tmp), tmp + localDW->prev_value)); if (tmp < 32768.0) { if (tmp >= -32768.0) { *rty_duct_filtered = (int16_t)tmp; } else { *rty_duct_filtered = INT16_MIN; } } else { *rty_duct_filtered = INT16_MAX; } } else { /* : else */ /* : duct_filtered = duct; */ *rty_duct_filtered = rtu_duct; } /* : prev_value = double(duct_filtered); */ localDW->prev_value = *rty_duct_filtered; /* : prev_time = double(t_now); */ localDW->prev_time = rtu_t_now; } /* * System initialize for atomic system: * '/is 3 sec after T15 passed' * '/is 3 sec after T15 passed' * '/is 3 sec after T15 passed' * '/is 3 sec after T15 passed' * '/is 3 sec after T15 passed' * '/is 3 sec after T15 passed' * '/is 3 sec after T15 passed' */ void is3secafterT15passed_Init(DW_is3secafterT15passed *localDW) { localDW->timeout_time_not_empty = false; } /* * Output and update for atomic system: * '/is 3 sec after T15 passed' * '/is 3 sec after T15 passed' * '/is 3 sec after T15 passed' * '/is 3 sec after T15 passed' * '/is 3 sec after T15 passed' * '/is 3 sec after T15 passed' * '/is 3 sec after T15 passed' */ void is3secafterT15passed(uint32_t rtu_t_now, uint8_t rtu_BCM_T15_stat, bool *rty_is_filter_active, DW_is3secafterT15passed *localDW) { /* : WAITING_TIME = 3 * 1000; */ /* : condition_ok = (BCM_T15_stat > 0); */ /* : if isempty(timeout_time) */ if (!localDW->timeout_time_not_empty) { /* : timeout_time = t_now + WAITING_TIME; */ localDW->timeout_time = rtu_t_now + /*MW:OvSatOk*/ 3000U; if (rtu_t_now + 3000U < rtu_t_now) { localDW->timeout_time = UINT32_MAX; } localDW->timeout_time_not_empty = true; } /* : if condition_ok */ if (rtu_BCM_T15_stat > 0) { /* : is_filter_active = (t_now >= timeout_time); */ *rty_is_filter_active = (rtu_t_now >= localDW->timeout_time); } else { /* : else */ /* : timeout_time = t_now + WAITING_TIME; */ localDW->timeout_time = rtu_t_now + /*MW:OvSatOk*/ 3000U; if (rtu_t_now + 3000U < rtu_t_now) { localDW->timeout_time = UINT32_MAX; } /* : is_filter_active = false; */ *rty_is_filter_active = false; } } /* * Output and update for atomic system: * '/обычное понижение темп.' * '/обычное повышение темп.' * '/обычное понижение темп.' * '/обычное повышение темп.' */ void u(uint8_t rtu_lvl, uint16_t *rty_f_g_ausINCARRATE_FALLING_F) { int32_t tmp; /* : f_g_ausINCARRATE_FALLING_F = g_ausINCARRATE_FALLING_F(lvl + 1); */ tmp = (int32_t)(rtu_lvl + 1U); if (rtu_lvl + 1U > 255U) { tmp = 255; } *rty_f_g_ausINCARRATE_FALLING_F = g_ausINCARRATE_FALLING_F[tmp - 1]; } /* * Output and update for atomic system: * '/ускоренное повышение темп.' * '/ускоренное повышение темп.' * '/ускоренное повышение темп.' * '/ускоренное повышение темп.' */ void u_j(uint8_t rtu_lvl, uint16_t *rty_f_g_ausINCARRATE_FALLING_DIFF_F) { int32_t tmp; /* : f_g_ausINCARRATE_FALLING_DIFF_F = g_ausINCARRATE_FALLING_DIFF_F(lvl + 1); */ tmp = (int32_t)(rtu_lvl + 1U); if (rtu_lvl + 1U > 255U) { tmp = 255; } *rty_f_g_ausINCARRATE_FALLING_DIFF_F = g_ausINCARRATE_FALLING_DIFF_F[tmp - 1]; } /* * Output and update for action system: * '/включен ускоренный режим' * '/включен ускоренный режим' */ void u_c(int16_t rtu_temp_raw, uint8_t rtu_lvl, uint16_t *rty_out, double *rtd_KEEP_FALLING_FL_UNTIL_LIMIT, const double *rtd_Temp_FL_store) { /* If: '/If' incorporates: * Abs: '/ABS(AMBraw - AMB)' * DataStoreRead: '/Read temp' * MATLAB Function: '/AMBRATE_RISING_DIFF[8]' * RelationalOperator: '/Relational Operator' * Sum: '/Add' */ /* : f_g_ausINCARRATE_FALLING_DIFF_F = g_ausINCARRATE_FALLING_DIFF_F(8); */ if (fabs((double)rtu_temp_raw - *rtd_Temp_FL_store) <= g_ausINCARRATE_FALLING_DIFF_F[7]) { /* Outputs for IfAction SubSystem: '/Отключаем ускоренный режим' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ *rtd_KEEP_FALLING_FL_UNTIL_LIMIT = 0.0; /* SignalConversion generated from: '/out' incorporates: * MATLAB Function: '/обычное понижение темп.' * Merge: '/Merge' */ u(rtu_lvl, rty_out); /* End of Outputs for SubSystem: '/Отключаем ускоренный режим' */ } else { /* Outputs for IfAction SubSystem: '/Продолжаем в ускоренном' incorporates: * ActionPort: '/Action Port' */ /* SignalConversion generated from: '/out' incorporates: * MATLAB Function: '/ускоренное повышение темп.' * Merge: '/Merge' */ u_j(rtu_lvl, rty_out); /* End of Outputs for SubSystem: '/Продолжаем в ускоренном' */ } /* End of If: '/If' */ } /* * Output and update for action system: * '/обычный режим' * '/обычный режим' */ void u_l(int16_t rtu_temp_raw, uint8_t rtu_lvl, uint16_t *rty_riseperminute, double *rtd_KEEP_FALLING_FL_UNTIL_LIMIT, const double *rtd_Temp_FL_store) { /* If: '/If' incorporates: * Abs: '/ABS(AMBraw - AMB)' * DataStoreRead: '/Read Amb' * MATLAB Function: '/AMBRATE_FALLING_DIFF[7]' * RelationalOperator: '/Relational Operator' * Sum: '/Add' */ /* : f_g_ausINCARRATE_FALLING_DIFF_F = g_ausINCARRATE_FALLING_DIFF_F(7); */ if (fabs((double)rtu_temp_raw - *rtd_Temp_FL_store) > g_ausINCARRATE_FALLING_DIFF_F[6]) { /* Outputs for IfAction SubSystem: '/включаем ускоренный режим' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ *rtd_KEEP_FALLING_FL_UNTIL_LIMIT = 1.0; /* SignalConversion generated from: '/rise per minute' incorporates: * MATLAB Function: '/ускоренное повышение темп.' * Merge: '/Merge' */ u_j(rtu_lvl, rty_riseperminute); /* End of Outputs for SubSystem: '/включаем ускоренный режим' */ } else { /* Outputs for IfAction SubSystem: '/обычный режим повышения' incorporates: * ActionPort: '/Action Port' */ /* SignalConversion generated from: '/rise per minute' incorporates: * MATLAB Function: '/обычное повышение темп.' * Merge: '/Merge' */ u(rtu_lvl, rty_riseperminute); /* End of Outputs for SubSystem: '/обычный режим повышения' */ } /* End of If: '/If' */ } /* * Output and update for atomic system: * '/обычное повышение темп.' * '/обычное повышение темп.' * '/обычное повышение темп.' * '/обычное повышение темп.' */ void u_h(uint8_t rtu_lvl, uint16_t *rty_f_g_ausINCARRATE_RISING_F) { int32_t tmp; /* : f_g_ausINCARRATE_RISING_F = g_ausINCARRATE_RISING_F(lvl + 1); */ tmp = (int32_t)(rtu_lvl + 1U); if (rtu_lvl + 1U > 255U) { tmp = 255; } *rty_f_g_ausINCARRATE_RISING_F = g_ausINCARRATE_RISING_F[tmp - 1]; } /* * Output and update for atomic system: * '/ускоренное повышение темп.' * '/ускоренное повышение темп.' * '/ускоренное повышение темп.' * '/ускоренное повышение темп.' */ void u_k(uint8_t rtu_lvl, uint16_t *rty_f_g_ausINCARRATE_RISING_DIFF_F) { int32_t tmp; /* : f_g_ausINCARRATE_RISING_DIFF_F = g_ausINCARRATE_RISING_DIFF_F(lvl + 1); */ tmp = (int32_t)(rtu_lvl + 1U); if (rtu_lvl + 1U > 255U) { tmp = 255; } *rty_f_g_ausINCARRATE_RISING_DIFF_F = g_ausINCARRATE_RISING_DIFF_F[tmp - 1]; } /* * Output and update for action system: * '/Продолжаем в ускоренном' * '/Продолжаем в ускоренном' */ void u_lz(uint8_t rtu_lvl, uint16_t *rty_out) { /* SignalConversion generated from: '/out' incorporates: * MATLAB Function: '/ускоренное повышение темп.' */ u_k(rtu_lvl, rty_out); } /* * Output and update for atomic system: * '/g_ausINCARRATE_RISING_DIFF_F[8]' * '/g_ausINCARRATE_RISING_DIFF_F[8]' */ void g_ausINCARRATE_RISING_DIFF_F8(uint16_t *rty_f_g_ausINCARRATE_RISING_DIFF_F) { /* : f_g_ausINCARRATE_RISING_DIFF_F = g_ausINCARRATE_RISING_DIFF_F(8); */ *rty_f_g_ausINCARRATE_RISING_DIFF_F = g_ausINCARRATE_RISING_DIFF_F[7]; } /* * Output and update for atomic system: * '/INCARRATE_RISING_DIFF_F[7]' * '/INCARRATE_RISING_DIFF_F[7]' */ void INCARRATE_RISING_DIFF_F7(uint16_t *rty_f_g_ausINCARRATE_RISING_DIFF_F) { /* : f_g_ausINCARRATE_RISING_DIFF_F = g_ausINCARRATE_RISING_DIFF_F(7); */ *rty_f_g_ausINCARRATE_RISING_DIFF_F = g_ausINCARRATE_RISING_DIFF_F[6]; } /* * Output and update for action system: * '/обычный режим повышения' * '/обычный режим повышения' */ void u_f(uint8_t rtu_lvl, uint16_t *rty_out) { /* SignalConversion generated from: '/out' incorporates: * MATLAB Function: '/обычное повышение темп.' */ u_h(rtu_lvl, rty_out); } /* * Output and update for action system: * '/Инициализация RL' * '/Инициализация RR' */ void RL(int16_t rtu_temp_in, double *rty_temp_out) { /* DataTypeConversion: '/Data Type Conversion' */ *rty_temp_out = rtu_temp_in; } /* * Output and update for atomic system: * '/AMBRATE_RISING_DIFF[8]' * '/AMBRATE_RISING_DIFF[8]' */ void AMBRATE_RISING_DIFF8(uint16_t *rty_f_g_ausINCARRATE_FALLING_DIFF_R) { /* : f_g_ausINCARRATE_FALLING_DIFF_R = g_ausINCARRATE_FALLING_DIFF_R(8); */ *rty_f_g_ausINCARRATE_FALLING_DIFF_R = g_ausINCARRATE_FALLING_DIFF_R[7]; } /* * Output and update for atomic system: * '/обычное понижение темп.' * '/обычное повышение темп.' * '/обычное понижение темп.' * '/обычное повышение темп.' */ void u_kk(uint8_t rtu_lvl, uint16_t *rty_f_g_ausINCARRATE_FALLING_R) { int32_t tmp; /* : f_g_ausINCARRATE_FALLING_R = g_ausINCARRATE_FALLING_R(lvl + 1); */ tmp = (int32_t)(rtu_lvl + 1U); if (rtu_lvl + 1U > 255U) { tmp = 255; } *rty_f_g_ausINCARRATE_FALLING_R = g_ausINCARRATE_FALLING_R[tmp - 1]; } /* * Output and update for atomic system: * '/ускоренное повышение темп.' * '/ускоренное повышение темп.' * '/ускоренное повышение темп.' * '/ускоренное повышение темп.' */ void u_b(uint8_t rtu_lvl, uint16_t *rty_f_g_ausINCARRATE_FALLING_DIFF_R) { int32_t tmp; /* : f_g_ausINCARRATE_FALLING_DIFF_R = g_ausINCARRATE_FALLING_DIFF_R(lvl + 1); */ tmp = (int32_t)(rtu_lvl + 1U); if (rtu_lvl + 1U > 255U) { tmp = 255; } *rty_f_g_ausINCARRATE_FALLING_DIFF_R = g_ausINCARRATE_FALLING_DIFF_R[tmp - 1]; } /* * Output and update for action system: * '/Продолжаем в ускоренном' * '/Продолжаем в ускоренном' */ void u_hr(uint8_t rtu_lvl, uint16_t *rty_out) { /* SignalConversion generated from: '/out' incorporates: * MATLAB Function: '/ускоренное повышение темп.' */ u_b(rtu_lvl, rty_out); } /* * Output and update for atomic system: * '/AMBRATE_FALLING_DIFF[7]' * '/AMBRATE_FALLING_DIFF[7]' */ void AMBRATE_FALLING_DIFF7(uint16_t *rty_f_g_ausINCARRATE_FALLING_DIFF_R) { /* : f_g_ausINCARRATE_FALLING_DIFF_R = g_ausINCARRATE_FALLING_DIFF_R(7); */ *rty_f_g_ausINCARRATE_FALLING_DIFF_R = g_ausINCARRATE_FALLING_DIFF_R[6]; } /* * Output and update for action system: * '/обычный режим повышения' * '/обычный режим повышения' */ void u_g(uint8_t rtu_lvl, uint16_t *rty_out) { /* SignalConversion generated from: '/out' incorporates: * MATLAB Function: '/обычное повышение темп.' */ u_kk(rtu_lvl, rty_out); } /* * Output and update for atomic system: * '/обычное повышение темп.' * '/обычное повышение темп.' * '/обычное повышение темп.' * '/обычное повышение темп.' */ void u_m(uint8_t rtu_lvl, uint16_t *rty_f_g_ausINCARRATE_RISING_R) { int32_t tmp; /* : f_g_ausINCARRATE_RISING_R = g_ausINCARRATE_RISING_R(lvl + 1); */ tmp = (int32_t)(rtu_lvl + 1U); if (rtu_lvl + 1U > 255U) { tmp = 255; } *rty_f_g_ausINCARRATE_RISING_R = g_ausINCARRATE_RISING_R[tmp - 1]; } /* * Output and update for atomic system: * '/ускоренное повышение темп.' * '/ускоренное повышение темп.' * '/ускоренное повышение темп.' * '/ускоренное повышение темп.' */ void u_o(uint8_t rtu_lvl, uint16_t *rty_f_g_ausINCARRATE_RISING_DIFF_R) { int32_t tmp; /* : f_g_ausINCARRATE_RISING_DIFF_R = g_ausINCARRATE_RISING_DIFF_R(lvl + 1); */ tmp = (int32_t)(rtu_lvl + 1U); if (rtu_lvl + 1U > 255U) { tmp = 255; } *rty_f_g_ausINCARRATE_RISING_DIFF_R = g_ausINCARRATE_RISING_DIFF_R[tmp - 1]; } /* * Output and update for action system: * '/Продолжаем в ускоренном' * '/Продолжаем в ускоренном' */ void u_gq(uint8_t rtu_lvl, uint16_t *rty_out) { /* SignalConversion generated from: '/out' incorporates: * MATLAB Function: '/ускоренное повышение темп.' */ u_o(rtu_lvl, rty_out); } /* * Output and update for atomic system: * '/g_ausINCARRATE_RISING_DIFF_R[8]' * '/g_ausINCARRATE_RISING_DIFF_R[8]' */ void g_ausINCARRATE_RISING_DIFF_R8(uint16_t *rty_f_g_ausINCARRATE_RISING_DIFF_R) { /* : f_g_ausINCARRATE_RISING_DIFF_R = g_ausINCARRATE_RISING_DIFF_R(8); */ *rty_f_g_ausINCARRATE_RISING_DIFF_R = g_ausINCARRATE_RISING_DIFF_R[7]; } /* * Output and update for atomic system: * '/INCARRATE_RISING_DIFF_R[7]' * '/INCARRATE_RISING_DIFF_R[7]' */ void INCARRATE_RISING_DIFF_R7(uint16_t *rty_f_g_ausINCARRATE_RISING_DIFF_R) { /* : f_g_ausINCARRATE_RISING_DIFF_R = g_ausINCARRATE_RISING_DIFF_R(7); */ *rty_f_g_ausINCARRATE_RISING_DIFF_R = g_ausINCARRATE_RISING_DIFF_R[6]; } /* * Output and update for action system: * '/обычный режим повышения' * '/обычный режим повышения' */ void u_b3(uint8_t rtu_lvl, uint16_t *rty_out) { /* SignalConversion generated from: '/out' incorporates: * MATLAB Function: '/обычное повышение темп.' */ u_m(rtu_lvl, rty_out); } /* * Output and update for atomic system: * '/AF AutoFoot' * '/AF AutoFoot' * '/AF AutoFoot' * '/AF AutoFoot' * '/AF AutoFoot' * '/AF AutoFoot' * '/AF AutoFoot' * '/AF AutoFoot' * '/AF AutoFoot' * '/AF AutoFoot' * ... */ void AFAutoFoot(uint16_t rty_out[8]) { int32_t i; for (i = 0; i < 8; i++) { rty_out[i] = g_ausFLOW_FR_AF2VALVE_AF[i]; } /* : out = g_ausFLOW_FR_AF2VALVE_AF; */ } /* * Output and update for atomic system: * '/AF AutoFoot summer' * '/AF AutoFoot summer' * '/AF AutoFoot summer' * '/AF AutoFoot summer' * '/AF AutoFoot summer' * '/AF AutoFoot summer' * '/AF AutoFoot summer' * '/AF AutoFoot summer' * '/AF AutoFoot summer' * '/AF AutoFoot summer' * ... */ void AFAutoFootsummer(uint16_t rty_out[8]) { int32_t i; for (i = 0; i < 8; i++) { rty_out[i] = g_ausFLOW_FR_AF2VALVE_SUMMER_AF[i]; } /* : out = g_ausFLOW_FR_AF2VALVE_SUMMER_AF; */ } /* * Output and update for atomic system: * '/AF Bi level' * '/AF Bi level' * '/AF Bi level' * '/AF Bi level' * '/AF Bi level' * '/AF Bi level' * '/AF Bi level' * '/AF Bi level' * '/AF Bi level' * '/AF Bi level' * ... */ void AFBilevel(uint16_t rty_out[8]) { int32_t i; for (i = 0; i < 8; i++) { rty_out[i] = g_ausFLOW_FR_BIVALVE_AF[i]; } /* : out = g_ausFLOW_FR_BIVALVE_AF; */ } /* * Output and update for atomic system: * '/AF Bi level 2' * '/AF Bi level 2' * '/AF Bi level 2' * '/AF Bi level 2' * '/AF Bi level 2' * '/AF Bi level 2' * '/AF Bi level 2' * '/AF Bi level 2' * '/AF Bi level 2' * '/AF Bi level 2' * ... */ void AFBilevel2(uint16_t rty_out[8]) { int32_t i; for (i = 0; i < 8; i++) { rty_out[i] = g_ausFLOW_FR_BI2BLR_AF[i]; } /* : out = g_ausFLOW_FR_BI2BLR_AF; */ } /* * Output and update for atomic system: * '/AF Defrost' * '/AF Defrost' * '/AF Defrost' * '/AF Defrost' * '/AF Defrost' * '/AF Defrost' * '/AF Defrost' * '/AF Defrost' * '/AF Defrost' * '/AF Defrost' * ... */ void AFDefrost(uint16_t rty_out[8]) { int32_t i; for (i = 0; i < 8; i++) { rty_out[i] = g_ausFLOW_FR_DE2BLR_AF[i]; } /* : out = g_ausFLOW_FR_DE2BLR_AF; */ } /* * Output and update for atomic system: * '/AF Foot' * '/AF Foot' * '/AF Foot' * '/AF Foot' * '/AF Foot' * '/AF Foot' * '/AF Foot' * '/AF Foot' * '/AF Foot' * '/AF Foot' * ... */ void AFFoot(uint16_t rty_out[8]) { int32_t i; for (i = 0; i < 8; i++) { rty_out[i] = g_ausFLOW_FR_FO2BLR_AF[i]; } /* : out = g_ausFLOW_FR_FO2BLR_AF; */ } /* * Output and update for atomic system: * '/AF Foot + Def' * '/AF Foot + Def' * '/AF Foot + Def' * '/AF Foot + Def' * '/AF Foot + Def' * '/AF Foot + Def' * '/AF Foot + Def' * '/AF Foot + Def' * '/AF Foot + Def' * '/AF Foot + Def' * ... */ void AFFootDef(uint16_t rty_out[8]) { int32_t i; for (i = 0; i < 8; i++) { rty_out[i] = g_ausFLOW_FR_FD2BLR_AF[i]; } /* : out = g_ausFLOW_FR_FD2BLR_AF; */ } /* * Output and update for atomic system: * '/AF Hi (def + vent)' * '/AF Hi (def + vent)' * '/AF Hi (def + vent)' * '/AF Hi (def + vent)' * '/AF Hi (def + vent)' * '/AF Hi (def + vent)' * '/AF Hi (def + vent)' * '/AF Hi (def + vent)' * '/AF Hi (def + vent)' * '/AF Hi (def + vent)' * ... */ void AFHidefvent(uint16_t rty_out[8]) { int32_t i; for (i = 0; i < 8; i++) { rty_out[i] = g_ausFLOW_FR_HI2BLR_AF[i]; } /* : out = g_ausFLOW_FR_HI2BLR_AF; */ } /* * Output and update for atomic system: * '/AF Tri mode' * '/AF Tri mode' * '/AF Tri mode' * '/AF Tri mode' * '/AF Tri mode' * '/AF Tri mode' * '/AF Tri mode' * '/AF Tri mode' * '/AF Tri mode' * '/AF Tri mode' * ... */ void AFTrimode(uint16_t rty_out[8]) { int32_t i; for (i = 0; i < 8; i++) { rty_out[i] = g_ausFLOW_FR_TR2BLR_AF[i]; } /* : out = g_ausFLOW_FR_TR2BLR_AF; */ } /* * Output and update for atomic system: * '/AF VENT' * '/AF VENT (fail safe)' * '/AF VENT' * '/AF VENT (fail safe)' * '/AF VENT' * '/AF VENT (fail safe)' * '/AF VENT' * '/AF VENT (fail safe)' * '/AF VENT' * '/AF VENT (fail safe)' * ... */ void AFVENT(uint16_t rty_out[8]) { int32_t i; for (i = 0; i < 8; i++) { rty_out[i] = g_ausFLOW_FR_VE2BLR_AF[i]; } /* : out = g_ausFLOW_FR_VE2BLR_AF; */ } /* * Output and update for atomic system: * '/closest speed' * '/closest speed' * '/closest speed' * '/closest speed' */ void closestspeed(const uint16_t rtu_AF_for_speed[8], uint16_t rtu_AF_value, uint8_t *rty_idx) { int32_t i; uint16_t min_diff; /* : min_diff = uint16(9999); */ min_diff = 9999U; /* : idx = uint8(0); */ *rty_idx = 0U; /* : for i = 1:length(AF_for_speed) */ for (i = 0; i < 8; i++) { int32_t diff; /* : diff = abs(int32(AF_for_speed(i)) - int32(AF_value)); */ diff = rtu_AF_for_speed[i] - rtu_AF_value; if (diff < 0) { diff = -diff; } /* : if diff < min_diff */ if (diff < min_diff) { /* : min_diff = uint16(diff); */ min_diff = (uint16_t)diff; /* : idx = uint8(i - 1); */ *rty_idx = (uint8_t)i; } } } /* * Output and update for atomic system: * '/AF REAR Bi Level' * '/AF REAR Bi Level' */ void AFREARBiLevel(uint16_t rty_out[8]) { int32_t i; for (i = 0; i < 8; i++) { rty_out[i] = g_ausFLOW_RE_BI2BLR_AF[i]; } /* : out = g_ausFLOW_RE_BI2BLR_AF; */ } /* * Output and update for atomic system: * '/AF REAR Foot' * '/AF REAR Foot' */ void AFREARFoot(uint16_t rty_out[8]) { int32_t i; for (i = 0; i < 8; i++) { rty_out[i] = g_ausFLOW_RE_FO2BLR_AF[i]; } /* : out = g_ausFLOW_RE_FO2BLR_AF; */ } /* * Output and update for atomic system: * '/AF REAR VENT AUTO' * '/AF REAR VENT AUTO1' * '/AF REAR VENT AUTO' * '/AF REAR VENT AUTO1' */ void AFREARVENTAUTO(uint16_t rty_out[8]) { int32_t i; for (i = 0; i < 8; i++) { rty_out[i] = g_ausFLOW_RE_VE2BLR_AF[i]; } /* : out = g_ausFLOW_RE_VE2BLR_AF; */ } /* * Output and update for atomic system: * '/direction for REAR index mode' * '/direction for REAR index mode1' */ void directionforREARindexmode(uint16_t rtu_index_mode, double rty_Y[4]) { /* : switch index_mode */ switch (rtu_index_mode) { case 0U: /* : case 0 */ /* : Y = [0; 0; 0; 0]; */ rty_Y[0] = 0.0; rty_Y[1] = 0.0; rty_Y[2] = 0.0; rty_Y[3] = 0.0; break; case 120U: /* : case 120 */ /* : Y = [0; 1; 0; 190]; */ rty_Y[0] = 0.0; rty_Y[1] = 1.0; rty_Y[2] = 0.0; rty_Y[3] = 190.0; break; case 130U: /* : case 130 */ /* : Y = [0; 1; 1; 200]; */ rty_Y[0] = 0.0; rty_Y[1] = 1.0; rty_Y[2] = 1.0; rty_Y[3] = 200.0; break; case 140U: /* : case 140 */ /* : Y = [0; 0; 1; 140]; */ rty_Y[0] = 0.0; rty_Y[1] = 0.0; rty_Y[2] = 1.0; rty_Y[3] = 140.0; break; case 150U: /* : case 150 */ /* : Y = [0; 1; 0; 200]; */ rty_Y[0] = 0.0; rty_Y[1] = 1.0; rty_Y[2] = 0.0; rty_Y[3] = 200.0; break; case 160U: /* : case 160 */ /* : Y = [0; 1; 1; 200]; */ rty_Y[0] = 0.0; rty_Y[1] = 1.0; rty_Y[2] = 1.0; rty_Y[3] = 200.0; break; case 170U: /* : case 170 */ /* : Y = [0; 1; 0; 190]; */ rty_Y[0] = 0.0; rty_Y[1] = 1.0; rty_Y[2] = 0.0; rty_Y[3] = 190.0; break; case 180U: /* : case 180 */ /* : Y = [0; 1; 1; 200]; */ rty_Y[0] = 0.0; rty_Y[1] = 1.0; rty_Y[2] = 1.0; rty_Y[3] = 200.0; break; case 190U: /* : case 190 */ /* : Y = [0; 1; 0; 190]; */ rty_Y[0] = 0.0; rty_Y[1] = 1.0; rty_Y[2] = 0.0; rty_Y[3] = 190.0; break; case 200U: /* : case 200 */ /* : Y = [0; 1; 1; 200]; */ rty_Y[0] = 0.0; rty_Y[1] = 1.0; rty_Y[2] = 1.0; rty_Y[3] = 200.0; break; default: /* : otherwise */ /* : Y = [0; 0; 0; 0]; */ rty_Y[0] = 0.0; rty_Y[1] = 0.0; rty_Y[2] = 0.0; rty_Y[3] = 0.0; break; } } /* * System initialize for atomic system: * '/Zone_Climate_Logic_Auto_FL2' * '/Zone_Climate_Logic_Auto_FL3' */ void Zone_Climate_Logic_Auto_FL2_Init(uint8_t *rty_out_def, uint8_t *rty_out_face, uint8_t *rty_out_foot, uint8_t *rty_out_auto, double *rty_out_ac, DW_Zone_Climate_Logic_Auto_FL2 *localDW) { *rty_out_def = 0U; *rty_out_face = 0U; *rty_out_foot = 0U; *rty_out_auto = 0U; *rty_out_ac = 0.0; localDW->is_active_c783_HVAC_model = 0U; localDW->is_c783_HVAC_model = IN_NO_ACTIVE_CHILD; localDW->is_AC_SUB = IN_NO_ACTIVE_CHILD; localDW->is_DEF_SUB = IN_NO_ACTIVE_CHILD; localDW->is_FACE_SUB = IN_NO_ACTIVE_CHILD; localDW->is_FOOT_SUB = IN_NO_ACTIVE_CHILD; localDW->is_AC_SUB_f = IN_NO_ACTIVE_CHILD; } /* * Output and update for atomic system: * '/Zone_Climate_Logic_Auto_FL2' * '/Zone_Climate_Logic_Auto_FL3' */ void Zone_Climate_Logic_Auto_FL2(double rtu_btn_def, uint8_t rtu_btn_face, uint8_t rtu_btn_foot, uint8_t rtu_btn_auto, uint8_t rtu_btn_ac, uint8_t *rty_out_def, uint8_t *rty_out_face, uint8_t *rty_out_foot, uint8_t *rty_out_auto, double *rty_out_ac, DW_Zone_Climate_Logic_Auto_FL2 *localDW) { /* Chart: '/Zone_Climate_Logic_Auto_FL2' */ if (localDW->is_active_c783_HVAC_model == 0U) { localDW->is_active_c783_HVAC_model = 1U; localDW->is_c783_HVAC_model = IN_MANUAL_MODE; /* : out_def = 0; */ *rty_out_def = 0U; /* : out_face = 1; */ *rty_out_face = 1U; /* : out_foot = 1; */ *rty_out_foot = 1U; /* : mem_def = 0; */ /* : mem_face = 0; */ /* : mem_foot = 0; */ localDW->is_DEF_SUB = IN_Def_Off; localDW->is_FACE_SUB = IN_Face_Off; localDW->is_FOOT_SUB = IN_Foot_Off; localDW->is_AC_SUB_f = IN_AC_Off; } else if (localDW->is_c783_HVAC_model == IN_AUTO_MODE) { /* : sf_internal_predicateOutput = btn_auto == 0 || btn_def == 1 || btn_face == 1 || btn_foot == 1; */ if ((rtu_btn_auto == 0) || (rtu_btn_def == 1.0) || (rtu_btn_face == 1) || (rtu_btn_foot == 1)) { /* : out_auto=0; */ *rty_out_auto = 0U; localDW->is_AC_SUB = IN_NO_ACTIVE_CHILD; localDW->is_c783_HVAC_model = IN_MANUAL_MODE; /* : out_def = 0; */ *rty_out_def = 0U; /* : out_face = 1; */ *rty_out_face = 1U; /* : out_foot = 1; */ *rty_out_foot = 1U; /* : mem_def = 0; */ /* : mem_face = 0; */ /* : mem_foot = 0; */ localDW->is_DEF_SUB = IN_Def_Off; localDW->is_FACE_SUB = IN_Face_Off; localDW->is_FOOT_SUB = IN_Foot_Off; localDW->is_AC_SUB_f = IN_AC_Off; } else if (localDW->is_AC_SUB == IN_AC_Off) { /* : sf_internal_predicateOutput = btn_ac == 1; */ if (rtu_btn_ac == 1) { /* : out_ac=1 */ localDW->is_AC_SUB = IN_AC_On; /* : out_ac = 1; */ *rty_out_ac = 1.0; } /* case IN_AC_On: */ /* : sf_internal_predicateOutput = btn_ac == 0; */ } else if (rtu_btn_ac == 0) { /* : out_ac=0 */ *rty_out_ac = 0.0; localDW->is_AC_SUB = IN_AC_Off; } /* case IN_MANUAL_MODE: */ /* : sf_internal_predicateOutput = btn_auto == 1 || (out_def == 0 && out_face == 0 && out_foot == 0); */ } else if ((rtu_btn_auto == 1) || ((*rty_out_def == 0) && (*rty_out_face == 0) && (*rty_out_foot == 0))) { /* : out_auto=1; */ localDW->is_AC_SUB_f = IN_NO_ACTIVE_CHILD; localDW->is_FOOT_SUB = IN_NO_ACTIVE_CHILD; localDW->is_FACE_SUB = IN_NO_ACTIVE_CHILD; localDW->is_DEF_SUB = IN_NO_ACTIVE_CHILD; localDW->is_c783_HVAC_model = IN_AUTO_MODE; /* : out_auto = 1; */ *rty_out_auto = 1U; /* : out_def = 0; */ *rty_out_def = 0U; /* : out_face = 0; */ *rty_out_face = 0U; /* : out_foot = 0; */ *rty_out_foot = 0U; localDW->is_AC_SUB = IN_AC_On; /* : out_ac = 1; */ *rty_out_ac = 1.0; } else { if (localDW->is_DEF_SUB == IN_Def_Off) { /* : sf_internal_predicateOutput = btn_def == 1; */ if (rtu_btn_def == 1.0) { /* : out_def=1 */ *rty_out_def = 1U; localDW->is_DEF_SUB = IN_Def_On; } /* case IN_Def_On: */ /* : sf_internal_predicateOutput = btn_def == 0; */ } else if (rtu_btn_def == 0.0) { /* : out_def=0 */ *rty_out_def = 0U; localDW->is_DEF_SUB = IN_Def_Off; } if (localDW->is_FACE_SUB == IN_Face_Off) { /* : sf_internal_predicateOutput = btn_face == 1; */ if (rtu_btn_face == 1) { /* : out_face=1 */ *rty_out_face = 1U; localDW->is_FACE_SUB = IN_Face_On; } /* case IN_Face_On: */ /* : sf_internal_predicateOutput = btn_face == 0; */ } else if (rtu_btn_face == 0) { /* : out_face=0 */ *rty_out_face = 0U; localDW->is_FACE_SUB = IN_Face_Off; } if (localDW->is_FOOT_SUB == IN_Foot_Off) { /* : sf_internal_predicateOutput = btn_foot == 1; */ if (rtu_btn_foot == 1) { /* : out_foot=1 */ *rty_out_foot = 1U; localDW->is_FOOT_SUB = IN_Foot_On; } /* case IN_Foot_On: */ /* : sf_internal_predicateOutput = btn_foot == 0; */ } else if (rtu_btn_foot == 0) { /* : out_foot=0 */ *rty_out_foot = 0U; localDW->is_FOOT_SUB = IN_Foot_Off; } if (localDW->is_AC_SUB_f == IN_AC_Off) { /* : sf_internal_predicateOutput = btn_ac == 1; */ if (rtu_btn_ac == 1) { /* : out_ac=1 */ *rty_out_ac = 1.0; localDW->is_AC_SUB_f = IN_AC_On; } /* case IN_AC_On: */ /* : sf_internal_predicateOutput = btn_ac == 0; */ } else if (rtu_btn_ac == 0) { /* : out_ac=0 */ *rty_out_ac = 0.0; localDW->is_AC_SUB_f = IN_AC_Off; } } /* End of Chart: '/Zone_Climate_Logic_Auto_FL2' */ } /* * Output and update for atomic system: * '/AF for Bi Level' * '/AF for Bi Level' */ void AFforBiLevel(uint8_t rtu_blower_speed, uint16_t *rty_out) { int32_t tmp; /* : out = uint16(g_ausFLOW_FR_BI2BLR_AF(blower_speed + 1)); */ tmp = (int32_t)(rtu_blower_speed + 1U); if (rtu_blower_speed + 1U > 255U) { tmp = 255; } *rty_out = g_ausFLOW_FR_BI2BLR_AF[tmp - 1]; } /* * Output and update for atomic system: * '/AF for Def' * '/AF for Def' */ void AFforDef(uint8_t rtu_blower_speed, uint16_t *rty_out) { int32_t tmp; /* : out = uint16(g_ausFLOW_FR_DE2BLR_AF(blower_speed + 1)); */ tmp = (int32_t)(rtu_blower_speed + 1U); if (rtu_blower_speed + 1U > 255U) { tmp = 255; } *rty_out = g_ausFLOW_FR_DE2BLR_AF[tmp - 1]; } /* * Output and update for atomic system: * '/AF for Foor + Def' * '/AF for Foor + Def' */ void AFforFoorDef(uint8_t rtu_blower_speed, uint16_t *rty_out) { int32_t tmp; /* : out = uint16(g_ausFLOW_FR_FD2BLR_AF(blower_speed + 1)); */ tmp = (int32_t)(rtu_blower_speed + 1U); if (rtu_blower_speed + 1U > 255U) { tmp = 255; } *rty_out = g_ausFLOW_FR_FD2BLR_AF[tmp - 1]; } /* * Output and update for atomic system: * '/AF for Foot' * '/AF for Foot' */ void AFforFoot(uint8_t rtu_blower_speed, uint16_t *rty_out) { int32_t tmp; /* : out = uint16(g_ausFLOW_FR_FO2BLR_AF(blower_speed + 1)); */ tmp = (int32_t)(rtu_blower_speed + 1U); if (rtu_blower_speed + 1U > 255U) { tmp = 255; } *rty_out = g_ausFLOW_FR_FO2BLR_AF[tmp - 1]; } /* * Output and update for atomic system: * '/AF for Hi_Level' * '/AF for Hi_Level' */ void AFforHi_Level(uint8_t rtu_blower_speed, uint16_t *rty_out) { int32_t tmp; /* : out = uint16(g_ausFLOW_FR_HI2BLR_AF(blower_speed + 1)); */ tmp = (int32_t)(rtu_blower_speed + 1U); if (rtu_blower_speed + 1U > 255U) { tmp = 255; } *rty_out = g_ausFLOW_FR_HI2BLR_AF[tmp - 1]; } /* * Output and update for atomic system: * '/AF for Tri-Level' * '/AF for Tri-Level' */ void AFforTriLevel(uint8_t rtu_blower_speed, uint16_t *rty_out) { int32_t tmp; /* : out = uint16(g_ausFLOW_FR_TR2BLR_AF(blower_speed + 1)); */ tmp = (int32_t)(rtu_blower_speed + 1U); if (rtu_blower_speed + 1U > 255U) { tmp = 255; } *rty_out = g_ausFLOW_FR_TR2BLR_AF[tmp - 1]; } /* * Output and update for atomic system: * '/AF for Vent mode' * '/AF for Vent mode' */ void AFforVentmode(uint8_t rtu_blower_speed, uint16_t *rty_out) { int32_t tmp; /* : out = uint16(g_ausFLOW_FR_VE2BLR_AF(blower_speed + 1)); */ tmp = (int32_t)(rtu_blower_speed + 1U); if (rtu_blower_speed + 1U > 255U) { tmp = 255; } *rty_out = g_ausFLOW_FR_VE2BLR_AF[tmp - 1]; } /* * Output and update for enable system: * '/Rear Left AF - manual directions' * '/Rear Right AF - manual directions' */ void RearLeftAFmanualdirections(bool rtu_Enable, uint8_t rtu_blowerspeed, uint8_t rtu_faceison, uint8_t rtu_footison, uint16_t *rty_AFout) { int32_t tmp; /* Outputs for Enabled SubSystem: '/Rear Left AF - manual directions' incorporates: * EnablePort: '/Enable' */ if (rtu_Enable) { /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/Constant1' * Constant: '/Constant2' * Constant: '/Constant3' * Gain: '/Gain2' * MATLAB Function: '/AF for Bi Level R' * MATLAB Function: '/AF for Foot R' * MATLAB Function: '/AF for Vent mode R' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * Sum: '/Add' */ /* : out = uint16(g_ausFLOW_RE_BI2BLR_AF(blower_speed + 1)); */ /* : out = uint16(g_ausFLOW_RE_FO2BLR_AF(blower_speed + 1)); */ /* : out = uint16(g_ausFLOW_RE_VE2BLR_AF(blower_speed + 1)); */ switch ((int32_t)((uint32_t)((rtu_footison == 1) << 1) + (uint32_t) (rtu_faceison == 1))) { case 0: *rty_AFout = 0U; break; case 1: /* MATLAB Function: '/AF for Vent mode R' */ tmp = (int32_t)(rtu_blowerspeed + 1U); if (rtu_blowerspeed + 1U > 255U) { tmp = 255; } *rty_AFout = g_ausFLOW_RE_VE2BLR_AF[tmp - 1]; break; case 2: /* MATLAB Function: '/AF for Foot R' */ tmp = (int32_t)(rtu_blowerspeed + 1U); if (rtu_blowerspeed + 1U > 255U) { tmp = 255; } *rty_AFout = g_ausFLOW_RE_FO2BLR_AF[tmp - 1]; break; default: /* MATLAB Function: '/AF for Bi Level R' */ tmp = (int32_t)(rtu_blowerspeed + 1U); if (rtu_blowerspeed + 1U > 255U) { tmp = 255; } *rty_AFout = g_ausFLOW_RE_BI2BLR_AF[tmp - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch' */ } /* End of Outputs for SubSystem: '/Rear Left AF - manual directions' */ } /* * Output and update for atomic system: * '/func g_ascAUTO_STEP_AF_F' * '/func g_ascAUTO_STEP_AF_F' */ void funcg_ascAUTO_STEP_AF_F(double rtu_AF_STEP, int8_t *rty_y) { /* : y = g_ascAUTO_STEP_AF_F(AF_STEP); */ *rty_y = g_ascAUTO_STEP_AF_F[(int32_t)rtu_AF_STEP - 1]; } /* * Output and update for atomic system: * '/param index for mode' * '/param index for mode' */ void paramindexformode(uint8_t rtu_index_mode, double *rty_Y) { /* : switch index_mode */ switch (rtu_index_mode) { case 0U: /* : case 0 */ /* : Y = 1; */ *rty_Y = 1.0; break; case 10U: /* : case 10 */ /* : Y = 1; */ *rty_Y = 1.0; break; case 20U: /* : case 20 */ /* : Y = 2; */ *rty_Y = 2.0; break; case 30U: /* : case 30 */ /* : Y = 2; */ *rty_Y = 2.0; break; case 40U: /* : case 40 */ /* : Y = 3; */ *rty_Y = 3.0; break; case 50U: /* : case 50 */ /* : Y = 3; */ *rty_Y = 3.0; break; case 60U: /* : case 60 */ /* : Y = 3; */ *rty_Y = 3.0; break; case 70U: /* : case 70 */ /* : Y = 4; */ *rty_Y = 4.0; break; case 80U: /* : case 80 */ /* : Y = 4; */ *rty_Y = 4.0; break; case 90U: /* : case 90 */ /* : Y = 4; */ *rty_Y = 4.0; break; case 100U: /* : case 100 */ /* : Y = 4; */ *rty_Y = 4.0; break; case 110U: /* : case 110 */ /* : Y = 2; */ *rty_Y = 2.0; break; default: /* : otherwise */ /* : Y = 1; */ *rty_Y = 1.0; break; } } /* * Output and update for atomic system: * '/param index for mode' * '/param index for mode' * '/param index for mode' */ void paramindexformode_h(uint16_t rtu_index_mode, double *rty_Y) { /* : switch index_mode */ switch (rtu_index_mode) { case 0U: /* : case 0 */ /* : Y = 1; */ *rty_Y = 1.0; break; case 120U: /* : case 120 */ /* : Y = 1; */ *rty_Y = 1.0; break; case 130U: /* : case 130 */ /* : Y = 2; */ *rty_Y = 2.0; break; case 140U: /* : case 140 */ /* : Y = 2; */ *rty_Y = 2.0; break; case 150U: /* : case 150 */ /* : Y = 1; */ *rty_Y = 1.0; break; case 160U: /* : case 160 */ /* : Y = 3; */ *rty_Y = 3.0; break; case 170U: /* : case 170 */ /* : Y = 1; */ *rty_Y = 1.0; break; case 180U: /* : case 180 */ /* : Y = 3; */ *rty_Y = 3.0; break; case 190U: /* : case 190 */ /* : Y = 1; */ *rty_Y = 1.0; break; case 200U: /* : case 200 */ /* : Y = 2; */ *rty_Y = 2.0; break; default: /* : otherwise */ /* : Y = 1; */ *rty_Y = 1.0; break; } } /* * Output and update for atomic system: * '/AF for speed' * '/AF for speed' * '/AF for speed' * '/AF for speed' * '/AF for speed' * '/AF for speed' * '/AF for speed' * '/AF for speed' * '/AF for speed' * '/AF for speed' * ... */ void AFforspeed(const uint16_t rtu_mode[8], double rtu_blower_speed, uint16_t *rty_out) { /* : out = mode(blower_speed + 1); */ *rty_out = rtu_mode[(int32_t)(rtu_blower_speed + 1.0) - 1]; } /* * Output and update for atomic system: * '/обычное понижение темп.' * '/обычное повышение темп.' * '/обычное понижение темп.' * '/обычное повышение темп.' * '/обычное понижение темп.' * '/обычное повышение темп.' */ void u_m2(int16_t rtu_lvl, uint8_t *rty_f_g_aucAMBRATE_FALLING) { int32_t tmp; /* : f_g_aucAMBRATE_FALLING = g_aucAMBRATE_FALLING(lvl + 1); */ tmp = rtu_lvl + 1; if (rtu_lvl + 1 > 32767) { tmp = 32767; } *rty_f_g_aucAMBRATE_FALLING = g_aucAMBRATE_FALLING[tmp - 1]; } /* * Output and update for action system: * '/включен ускоренный режим' * '/включен ускоренный режим' * '/включен ускоренный режим' */ void u_kb(int16_t rtu_amb_raw, int16_t rtu_lvl, uint8_t *rty_out, const double *rtd_AMB_store, double *rtd_KEEP_FALLING_UNTIL_LIMIT) { int32_t tmp; /* If: '/If' incorporates: * Abs: '/ABS(AMBraw - AMB)' * DataStoreRead: '/Read Amb' * MATLAB Function: '/AMBRATE_RISING_DIFF[8]' * RelationalOperator: '/Relational Operator' * Sum: '/Add' */ /* : f_g_aucAMBRATE_FALLING_DIFF = g_aucAMBRATE_FALLING_DIFF(8); */ if (fabs((double)rtu_amb_raw - *rtd_AMB_store) <= g_aucAMBRATE_FALLING_DIFF[7]) { /* Outputs for IfAction SubSystem: '/Отключаем ускоренный режим' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ *rtd_KEEP_FALLING_UNTIL_LIMIT = 0.0; /* SignalConversion generated from: '/out' incorporates: * MATLAB Function: '/обычное понижение темп.' * Merge: '/Merge' */ u_m2(rtu_lvl, rty_out); /* End of Outputs for SubSystem: '/Отключаем ускоренный режим' */ } else { /* Outputs for IfAction SubSystem: '/Продолжаем в ускоренном' incorporates: * ActionPort: '/Action Port' */ /* MATLAB Function: '/ускоренное повышение темп.' */ /* : f_g_aucAMBRATE_FALLING_DIFF = g_aucAMBRATE_FALLING_DIFF(lvl + 1); */ tmp = rtu_lvl + 1; if (rtu_lvl + 1 > 32767) { tmp = 32767; } /* SignalConversion generated from: '/out' incorporates: * MATLAB Function: '/ускоренное повышение темп.' * Merge: '/Merge' */ *rty_out = g_aucAMBRATE_FALLING_DIFF[tmp - 1]; /* End of Outputs for SubSystem: '/Продолжаем в ускоренном' */ } /* End of If: '/If' */ } /* * Output and update for action system: * '/обычный режим' * '/обычный режим' * '/обычный режим' */ void u_my(int16_t rtu_amb_raw, int16_t rtu_lvl, uint8_t *rty_riseperminute, const double *rtd_AMB_store, double *rtd_KEEP_FALLING_UNTIL_LIMIT) { int32_t tmp; /* If: '/If' incorporates: * Abs: '/ABS(AMBraw - AMB)' * DataStoreRead: '/Read Amb' * MATLAB Function: '/AMBRATE_FALLING_DIFF[7]' * RelationalOperator: '/Relational Operator' * Sum: '/Add' */ /* : f_g_aucAMBRATE_FALLING_DIFF = g_aucAMBRATE_FALLING_DIFF(7); */ if (fabs((double)rtu_amb_raw - *rtd_AMB_store) > g_aucAMBRATE_FALLING_DIFF[6]) { /* Outputs for IfAction SubSystem: '/включаем ускоренный режим' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ *rtd_KEEP_FALLING_UNTIL_LIMIT = 1.0; /* MATLAB Function: '/ускоренное повышение темп.' */ /* : f_g_aucAMBRATE_FALLING_DIFF_LVL = g_aucAMBRATE_FALLING_DIFF(lvl + 1); */ tmp = rtu_lvl + 1; if (rtu_lvl + 1 > 32767) { tmp = 32767; } /* SignalConversion generated from: '/rise per minute' incorporates: * MATLAB Function: '/ускоренное повышение темп.' * Merge: '/Merge' */ *rty_riseperminute = g_aucAMBRATE_FALLING_DIFF[tmp - 1]; /* End of Outputs for SubSystem: '/включаем ускоренный режим' */ } else { /* Outputs for IfAction SubSystem: '/обычный режим повышения' incorporates: * ActionPort: '/Action Port' */ /* SignalConversion generated from: '/rise per minute' incorporates: * MATLAB Function: '/обычное повышение темп.' * Merge: '/Merge' */ u_m2(rtu_lvl, rty_riseperminute); /* End of Outputs for SubSystem: '/обычный режим повышения' */ } /* End of If: '/If' */ } /* * Output and update for atomic system: * '/обычное повышение темп.' * '/обычное повышение темп.' * '/обычное повышение темп.' * '/обычное повышение темп.' * '/обычное повышение темп.' * '/обычное повышение темп.' */ void u_h3(int16_t rtu_lvl, uint8_t *rty_f_g_aucAMBRATE_RISING) { int32_t tmp; /* : f_g_aucAMBRATE_RISING = g_aucAMBRATE_RISING(lvl + 1); */ tmp = rtu_lvl + 1; if (rtu_lvl + 1 > 32767) { tmp = 32767; } *rty_f_g_aucAMBRATE_RISING = g_aucAMBRATE_RISING[tmp - 1]; } /* * Output and update for atomic system: * '/ускоренное повышение темп.' * '/ускоренное повышение темп.' * '/ускоренное повышение темп.' * '/ускоренное повышение темп.' * '/ускоренное повышение темп.' * '/ускоренное повышение темп.' */ void u_fr(int16_t rtu_lvl, uint8_t *rty_f_g_aucAMBRATE_RISING_DIFF_LVL) { int32_t tmp; /* : f_g_aucAMBRATE_RISING_DIFF_LVL = g_aucAMBRATE_RISING_DIFF(lvl + 1); */ tmp = rtu_lvl + 1; if (rtu_lvl + 1 > 32767) { tmp = 32767; } *rty_f_g_aucAMBRATE_RISING_DIFF_LVL = g_aucAMBRATE_RISING_DIFF[tmp - 1]; } /* * Output and update for action system: * '/включен ускоренный режим' * '/включен ускоренный режим' * '/включен ускоренный режим' */ void u_p(int16_t rtu_amb_raw, int16_t rtu_lvl, uint8_t *rty_out, const double *rtd_AMB_store, double *rtd_KEEP_RISING_UNTIL_LIMIT) { /* If: '/If' incorporates: * Abs: '/ABS(AMBraw - AMB)' * DataStoreRead: '/Read Amb' * MATLAB Function: '/AMBRATE_RISING_DIFF[8]' * RelationalOperator: '/Relational Operator' * Sum: '/Add' */ /* : f_g_aucAMBRATE_RISING_DIFF = g_aucAMBRATE_RISING_DIFF(8); */ if (fabs((double)rtu_amb_raw - *rtd_AMB_store) <= g_aucAMBRATE_RISING_DIFF[7]) { /* Outputs for IfAction SubSystem: '/Отключаем ускоренный режим' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ *rtd_KEEP_RISING_UNTIL_LIMIT = 0.0; /* SignalConversion generated from: '/out' incorporates: * MATLAB Function: '/обычное повышение темп.' */ u_h3(rtu_lvl, rty_out); /* End of Outputs for SubSystem: '/Отключаем ускоренный режим' */ } else { /* Outputs for IfAction SubSystem: '/Продолжаем в ускоренном' incorporates: * ActionPort: '/Action Port' */ /* SignalConversion generated from: '/out' incorporates: * MATLAB Function: '/ускоренное повышение темп.' */ u_fr(rtu_lvl, rty_out); /* End of Outputs for SubSystem: '/Продолжаем в ускоренном' */ } /* End of If: '/If' */ } /* * Output and update for action system: * '/обычный режим' * '/обычный режим' * '/обычный режим' */ void u_g2(int16_t rtu_amb_raw, int16_t rtu_lvl, uint8_t *rty_riseperminute, const double *rtd_AMB_store, double *rtd_KEEP_RISING_UNTIL_LIMIT) { /* If: '/If' incorporates: * Abs: '/ABS(AMBraw - AMB)' * DataStoreRead: '/Read Amb' * MATLAB Function: '/AMBRATE_RISING_DIFF[7]' * RelationalOperator: '/Relational Operator' * Sum: '/Add' */ /* : f_g_aucAMBRATE_RISING_DIFF = g_aucAMBRATE_RISING_DIFF(7); */ if (fabs((double)rtu_amb_raw - *rtd_AMB_store) > g_aucAMBRATE_RISING_DIFF[6]) { /* Outputs for IfAction SubSystem: '/включаем ускоренный режим' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ *rtd_KEEP_RISING_UNTIL_LIMIT = 1.0; /* SignalConversion generated from: '/out' incorporates: * MATLAB Function: '/ускоренное повышение темп.' */ u_fr(rtu_lvl, rty_riseperminute); /* End of Outputs for SubSystem: '/включаем ускоренный режим' */ } else { /* Outputs for IfAction SubSystem: '/обычный режим повышения' incorporates: * ActionPort: '/Action Port' */ /* SignalConversion generated from: '/out' incorporates: * MATLAB Function: '/обычное повышение темп.' */ u_h3(rtu_lvl, rty_riseperminute); /* End of Outputs for SubSystem: '/обычный режим повышения' */ } /* End of If: '/If' */ } /* * Output and update for action system: * '/If Action Subsystem' * '/If Action Subsystem' * '/If Action Subsystem' */ void IfActionSubsystem(int8_t *rty_Out1, double *rtd_ErrorHomming_private, double *rtd_Start_timer_n, int8_t *rtd_stepSig_private) { /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ *rtd_stepSig_private = 1; /* DataStoreWrite: '/Data Store Write1' incorporates: * Constant: '/Constant2' * DataStoreRead: '/Data Store Read1' * Sum: '/step inc' */ (*rtd_ErrorHomming_private)++; /* DataStoreWrite: '/Data Store Write2' incorporates: * Constant: '/Constant3' */ *rtd_Start_timer_n = 0.0; /* SignalConversion generated from: '/Out1' incorporates: * Constant: '/Constant1' */ *rty_Out1 = 2; } /* * System initialize for atomic system: * '/MATLAB Function' * '/MATLAB Function' * '/MATLAB Function' */ void MATLABFunction_Init(DW_MATLABFunction *localDW) { localDW->t_start_not_empty = false; localDW->cond_prev = 0.0; } /* * Output and update for atomic system: * '/MATLAB Function' * '/MATLAB Function' * '/MATLAB Function' */ void MATLABFunction(double rtu_cond, uint32_t rtu_t_now, uint32_t *rty_dt, DW_MATLABFunction *localDW) { /* : dt = uint32(0); */ /* : if isempty(t_start) */ if (!localDW->t_start_not_empty) { /* : t_start = t_now; */ localDW->t_start = rtu_t_now; localDW->t_start_not_empty = true; /* : cond_prev = 0; */ } /* : if cond > 0.5 && cond_prev <= 0.5 */ if ((rtu_cond > 0.5) && (localDW->cond_prev <= 0.5)) { /* : t_start = t_now; */ localDW->t_start = rtu_t_now; } /* : if cond > 0.5 */ if (rtu_cond > 0.5) { uint32_t qY; /* : dt = uint32(t_now - t_start); */ /* MW:begin MISRA2012:D4.1 CERT-C:INT30-C 'Justifying MISRA CPP rule violation' */ qY = rtu_t_now - /*MW:OvSatOk*/ localDW->t_start; /* MW:end MISRA2012:D4.1 CERT-C:INT30-C */ if (qY > rtu_t_now) { qY = 0U; } *rty_dt = qY; } else { /* : else */ /* : dt = uint32(0); */ *rty_dt = 0U; } /* : cond_prev = cond; */ localDW->cond_prev = rtu_cond; } /* * Output and update for action system: * '/If Action Subsystem1' * '/If Action Subsystem1' * '/If Action Subsystem1' */ void IfActionSubsystem1(int8_t *rty_Output, uint8_t *rtd_CCU_ActuatorErrF_Stat_private, uint8_t rtd_COM_private[9], uint8_t rtd_ErrorActuator[9], uint8_t rtd_ErrorCalibration_private[9], const double *rtd_LOGGER_LIN, uint8_t rtd_MODE_private[9], uint8_t rtd_dtc_state_error_model[127]) { int32_t i; bool tmp; /* Logic: '/Logical Operator' incorporates: * DataStoreRead: '/Data Store Read' */ tmp = (rtd_ErrorCalibration_private[0] != 0); for (i = 0; i < 8; i++) { tmp = (tmp || (rtd_ErrorCalibration_private[i + 1] != 0)); } /* DataTypeConversion: '/Data Type Conversion' incorporates: * DataStoreWrite: '/Data Store Write1' * Logic: '/Logical Operator' */ *rtd_CCU_ActuatorErrF_Stat_private = tmp; for (i = 0; i < 9; i++) { /* DataStoreWrite: '/Data Store Write2' incorporates: * DataStoreRead: '/Data Store Read' */ rtd_COM_private[i] = rtd_ErrorCalibration_private[i]; /* DataStoreWrite: '/Data Store Write' */ rtd_MODE_private[i] = 2U; } /* MATLAB Function: '/Write ERROR' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read6' */ /* : if(LOGGER==1) */ if (*rtd_LOGGER_LIN == 1.0) { /* : for i = 1:numel(ErrCallibration) */ for (i = 0; i < 9; i++) { /* : if ErrCallibration(i) == 1 */ if (rtd_ErrorCalibration_private[i] == 1) { /* : fprintf('LIN1 Failure with actuator #%d\n', int16(i)); */ printf("LIN1 Failure with actuator #%d\n", (int16_t)(i + 1)); fflush(stdout); } } } /* End of MATLAB Function: '/Write ERROR' */ for (i = 0; i < 9; i++) { uint8_t rtd_ErrorCalibration_private_0; /* Logic: '/Logical Operator1' incorporates: * DataStoreRead: '/Data Store Read' */ rtd_ErrorCalibration_private_0 = rtd_ErrorCalibration_private[i]; /* DataTypeConversion: '/Data Type Conversion1' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreWrite: '/Data Store Write3' * Logic: '/Logical Operator1' */ rtd_ErrorActuator[i] = (uint8_t)((rtd_ErrorCalibration_private_0 != 0) || (rtd_ErrorActuator[i] != 0)); /* DataStoreWrite: '/Data Store Write' */ rtd_dtc_state_error_model[i + 54] = rtd_ErrorCalibration_private_0; /* DataStoreWrite: '/Data Store Write' */ rtd_ErrorCalibration_private[i] = 0U; } /* SignalConversion generated from: '/Output' incorporates: * Constant: '/Constant' */ *rty_Output = 4; } /* * System initialize for atomic system: * '/MATLAB Function' * '/MATLAB Function1' * '/MATLAB Function2' * '/MATLAB Function3' * '/MATLAB Function4' * '/MATLAB Function5' */ void MATLABFunction_k_Init(DW_MATLABFunction_n *localDW) { /* : integral = 0.0; */ localDW->integral = 0.0; /* : pInput = 0.0; */ localDW->pInput = 0.0; /* : smooth_output = 0.0; */ localDW->smooth_output = 0.0; } /* * Output and update for atomic system: * '/MATLAB Function' * '/MATLAB Function1' * '/MATLAB Function2' * '/MATLAB Function3' * '/MATLAB Function4' * '/MATLAB Function5' */ void MATLABFunction_m(double rtu_setpoint, double rtu_input, double rtu_dt, double rtu_Kp, double rtu_Ki, double rtu_Kd, double rtu_max_speed, double rtu_deadband, double *rty_output, double *rty_P, double *rty_I, double *rty_D, DW_MATLABFunction_n *localDW) { double P_tmp; double b_I; double derivative; double error; double max_change; double output; max_change = rtu_dt; /* : if isempty(integral) */ /* : OUT_MIN = 0.0; */ /* : OUT_MAX = 100.0; */ /* : if dt < 0.0001 */ if (rtu_dt < 0.0001) { /* : dt = 0.0001; */ max_change = 0.0001; } /* : error = setpoint - input; */ error = rtu_setpoint - rtu_input; /* : if abs(error) < deadband */ if (fabs(error) < rtu_deadband) { /* : error = 0.0; */ error = 0.0; } /* : derivative = (pInput - input) / dt; */ derivative = (localDW->pInput - rtu_input) / max_change; /* : pInput = input; */ localDW->pInput = rtu_input; /* : P = error * Kp; */ P_tmp = error * rtu_Kp; /* : I = integral * Ki; */ b_I = localDW->integral * rtu_Ki; /* : D = derivative * Kd; */ derivative *= rtu_Kd; /* : output = P + I + D; */ output = (P_tmp + b_I) + derivative; /* : if output >= OUT_MAX */ if (output >= 100.0) { /* : if error > 0.0 */ if (error > 0.0) { /* : integral = integral + error * dt; */ localDW->integral += error * max_change; } /* : output = OUT_MAX; */ output = 100.0; } else if (output <= 0.0) { /* : elseif output <= OUT_MIN */ /* : if error < 0.0 */ if (error < 0.0) { /* : integral = integral + error * dt; */ localDW->integral += error * max_change; } /* : output = OUT_MIN; */ output = 0.0; } else { /* : else */ /* : integral = integral + error * dt; */ localDW->integral += error * max_change; } /* : if Ki ~= 0.0 */ if (rtu_Ki != 0.0) { /* : p_term = error * Kp; */ /* : d_term = derivative * Kd; */ /* : maxI = (OUT_MAX - p_term - d_term) / Ki; */ /* : minI = (OUT_MIN - p_term - d_term) / Ki; */ /* : integral = max(min(integral, maxI), minI); */ localDW->integral = fmax(fmin(localDW->integral, ((100.0 - P_tmp) - derivative) / rtu_Ki), ((0.0 - P_tmp) - derivative) / rtu_Ki); } else { /* : else */ /* : integral = 0.0; */ localDW->integral = 0.0; } /* : max_change = max_speed * dt; */ max_change *= rtu_max_speed; /* : output = min(max(output, smooth_output - max_change), smooth_output + max_change); */ output = fmin(fmax(output, localDW->smooth_output - max_change), localDW->smooth_output + max_change); /* : smooth_output = output; */ localDW->smooth_output = output; /* : output = min(max(output, OUT_MIN), OUT_MAX); */ *rty_output = fmin(fmax(output, 0.0), 100.0); *rty_P = P_tmp; *rty_I = b_I; *rty_D = derivative; } /* * Output and update for atomic system: * '/valves_rear_left' * '/valves_rear_right' */ void valves_rear_left(uint8_t rtu_MODE, uint16_t rty_get_valves[6]) { int32_t q0; uint32_t qY; uint16_t tmp[54]; /* : modes_array = [ */ /* : g_ausFLOW_RE_VENT; */ /* : g_ausFLOW_RE_BI2VALVE; */ /* : g_ausFLOW_RE_FO2VALVE; */ /* : g_ausFLOW_RE_VENT_2; */ /* : g_ausFLOW_RE_BI2VALVE_2; */ /* : g_ausFLOW_RE_VENT_3; */ /* : g_ausFLOW_RE_BI2VALVE_3; */ /* : g_ausFLOW_RE_VENT_MANUAL; */ /* : g_ausFLOW_RE_BI2VALVE_MANUAL; */ /* : ]; */ /* : index = idivide(MODE, 10) - 11; */ /* : get_valves = modes_array(index, :); */ q0 = (int32_t)trunc((double)rtu_MODE / 10.0); /* MW:begin MISRA2012:D4.1 CERT-C:INT30-C 'Justifying MISRA CPP rule violation' */ qY = (uint32_t)q0 - 11U; /* MW:end MISRA2012:D4.1 CERT-C:INT30-C */ if ((uint32_t)q0 - 11U > (uint32_t)q0) { qY = 0U; } for (q0 = 0; q0 < 6; q0++) { tmp[9 * q0] = g_ausFLOW_RE_VENT[q0]; tmp[9 * q0 + 1] = g_ausFLOW_RE_BI2VALVE[q0]; tmp[9 * q0 + 2] = g_ausFLOW_RE_FO2VALVE[q0]; tmp[9 * q0 + 3] = g_ausFLOW_RE_VENT_2[q0]; tmp[9 * q0 + 4] = g_ausFLOW_RE_BI2VALVE_2[q0]; tmp[9 * q0 + 5] = g_ausFLOW_RE_VENT_3[q0]; tmp[9 * q0 + 6] = g_ausFLOW_RE_BI2VALVE_3[q0]; tmp[9 * q0 + 7] = g_ausFLOW_RE_VENT_MANUAL[q0]; tmp[9 * q0 + 8] = g_ausFLOW_RE_BI2VALVE_MANUAL[q0]; rty_get_valves[q0] = tmp[(9 * q0 + (int32_t)qY) - 1]; } } /* * Output and update for atomic system: * '/MODE_for_set_and_lvl' * '/MODE_for_set_and_lvl1' */ void MODE_for_set_and_lvl(uint8_t rtu_LVL, int16_t rtu_SET, uint8_t *rty_get_mode) { int32_t i; int32_t tmp_0; uint8_t tmp[78]; /* : modes_array = [ */ /* : g_aucMODE_BY_SET_F_LV0; */ /* : g_aucMODE_BY_SET_F_LV1; */ /* : g_aucMODE_BY_SET_F_LV2; */ /* : g_aucMODE_BY_SET_F_LV3; */ /* : g_aucMODE_BY_SET_F_LV4; */ /* : g_aucMODE_BY_SET_F_LV5]; */ /* : get_mode = modes_array(LVL + 1, SET - 16); */ for (i = 0; i < 13; i++) { tmp[6 * i] = g_aucMODE_BY_SET_F_LV0[i]; tmp[6 * i + 1] = g_aucMODE_BY_SET_F_LV1[i]; tmp[6 * i + 2] = g_aucMODE_BY_SET_F_LV2[i]; tmp[6 * i + 3] = g_aucMODE_BY_SET_F_LV3[i]; tmp[6 * i + 4] = g_aucMODE_BY_SET_F_LV4[i]; tmp[6 * i + 5] = g_aucMODE_BY_SET_F_LV5[i]; } i = (int32_t)(rtu_LVL + 1U); if (rtu_LVL + 1U > 255U) { i = 255; } tmp_0 = rtu_SET - 16; if (rtu_SET - 16 < -32768) { tmp_0 = -32768; } *rty_get_mode = tmp[((tmp_0 - 1) * 6 + i) - 1]; } /* * Output and update for atomic system: * '/increase' * '/increase' */ void increase(int16_t rtu_duct_tg, const uint16_t rtu_mode_array[7], uint16_t *rty_y) { /* : threshold_low = mode_array(2); */ /* : threshold_high = mode_array(4); */ /* : value_low = mode_array(5); */ /* : value_mid = mode_array(6); */ /* : value_high = mode_array(7); */ /* : if duct_tg < threshold_low */ if (rtu_duct_tg < rtu_mode_array[1]) { /* : y = value_low; */ *rty_y = rtu_mode_array[4]; } else if (rtu_duct_tg < rtu_mode_array[3]) { /* : elseif duct_tg < threshold_high */ /* : y = value_mid; */ *rty_y = rtu_mode_array[5]; } else { /* : else */ /* : y = value_high; */ *rty_y = rtu_mode_array[6]; } } /* * Output and update for atomic system: * '/decrease' * '/decrease' */ void decrease(int16_t rtu_duct_tg, const uint16_t rtu_mode_array[7], uint16_t *rty_y) { /* : threshold_low = mode_array(1); */ /* : threshold_high = mode_array(3); */ /* : value_low = mode_array(5); */ /* : value_mid = mode_array(6); */ /* : value_high = mode_array(7); */ /* : if duct_tg < threshold_low */ if (rtu_duct_tg < rtu_mode_array[0]) { /* : y = value_low; */ *rty_y = rtu_mode_array[4]; } else if (rtu_duct_tg < rtu_mode_array[2]) { /* : elseif duct_tg < threshold_high */ /* : y = value_mid; */ *rty_y = rtu_mode_array[5]; } else { /* : else */ /* : y = value_high; */ *rty_y = rtu_mode_array[6]; } } /* * Output and update for atomic system: * '/valves_rear_left' * '/valves_rear_right' */ void valves_rear_left_e(uint16_t rtu_MODE, uint16_t rty_get_valves[6]) { int32_t q0; uint32_t qY; uint16_t tmp[54]; /* : modes_array = [ */ /* : g_ausFLOW_RE_VENT; */ /* : g_ausFLOW_RE_BI2VALVE; */ /* : g_ausFLOW_RE_FO2VALVE; */ /* : g_ausFLOW_RE_VENT_2; */ /* : g_ausFLOW_RE_BI2VALVE_2; */ /* : g_ausFLOW_RE_VENT_3; */ /* : g_ausFLOW_RE_BI2VALVE_3; */ /* : g_ausFLOW_RE_VENT_MANUAL; */ /* : g_ausFLOW_RE_BI2VALVE_MANUAL; */ /* : ]; */ /* : index = idivide(MODE, 10) - 11; */ /* : get_valves = modes_array(index, :); */ q0 = (int32_t)trunc((double)rtu_MODE / 10.0); /* MW:begin MISRA2012:D4.1 CERT-C:INT30-C 'Justifying MISRA CPP rule violation' */ qY = (uint32_t)q0 - 11U; /* MW:end MISRA2012:D4.1 CERT-C:INT30-C */ if ((uint32_t)q0 - 11U > (uint32_t)q0) { qY = 0U; } for (q0 = 0; q0 < 6; q0++) { tmp[9 * q0] = g_ausFLOW_RE_VENT[q0]; tmp[9 * q0 + 1] = g_ausFLOW_RE_BI2VALVE[q0]; tmp[9 * q0 + 2] = g_ausFLOW_RE_FO2VALVE[q0]; tmp[9 * q0 + 3] = g_ausFLOW_RE_VENT_2[q0]; tmp[9 * q0 + 4] = g_ausFLOW_RE_BI2VALVE_2[q0]; tmp[9 * q0 + 5] = g_ausFLOW_RE_VENT_3[q0]; tmp[9 * q0 + 6] = g_ausFLOW_RE_BI2VALVE_3[q0]; tmp[9 * q0 + 7] = g_ausFLOW_RE_VENT_MANUAL[q0]; tmp[9 * q0 + 8] = g_ausFLOW_RE_BI2VALVE_MANUAL[q0]; rty_get_valves[q0] = tmp[(9 * q0 + (int32_t)qY) - 1]; } } /* * Output and update for atomic system: * '/Valves for Bi Level' * '/Valves for Bi Level' */ void ValvesforBiLevel(uint16_t rty_out[9]) { int32_t i; for (i = 0; i < 9; i++) { rty_out[i] = g_ausFLOW_FR_BIVALVE_MANUAL[i]; } /* : out = g_ausFLOW_FR_BIVALVE_MANUAL; */ } /* * Output and update for atomic system: * '/Valves for Foot + Def' * '/Valves for Foot + Def' */ void ValvesforFootDef(uint16_t rty_out[9]) { int32_t i; for (i = 0; i < 9; i++) { rty_out[i] = g_ausFLOW_FR_FD2VALVE[i]; } /* : out = g_ausFLOW_FR_FD2VALVE; */ } /* * Output and update for atomic system: * '/Valves for Hi_Level' * '/Valves for Hi_Level' */ void ValvesforHi_Level(uint16_t rty_out[9]) { int32_t i; for (i = 0; i < 9; i++) { rty_out[i] = g_ausFLOW_FR_HI2VALVE[i]; } /* : out = g_ausFLOW_FR_HI2VALVE; */ } /* * Output and update for atomic system: * '/Valves for Tri-Level' * '/Valves for Tri-Level' */ void ValvesforTriLevel(uint16_t rty_out[9]) { int32_t i; for (i = 0; i < 9; i++) { rty_out[i] = g_ausFLOW_FR_TR2VALVE[i]; } /* : out = g_ausFLOW_FR_TR2VALVE; */ } /* * Output and update for atomic system: * '/AF for Bi Level' * '/AF for Bi Level' */ void AFforBiLevel_i(uint16_t rty_out[6]) { int32_t i; for (i = 0; i < 6; i++) { rty_out[i] = g_ausFLOW_RE_BI2VALVE_MANUAL[i]; } /* : out = g_ausFLOW_RE_BI2VALVE_MANUAL; */ } /* * Output and update for atomic system: * '/valves for Vent mode' * '/valves for Vent mode' */ void valvesforVentmode(uint16_t rty_out[6]) { int32_t i; for (i = 0; i < 6; i++) { rty_out[i] = g_ausFLOW_RE_VENT_MANUAL[i]; } /* : out = g_ausFLOW_RE_VENT_MANUAL; */ } /* * Output and update for atomic system: * '/MATLAB Function' * '/MATLAB Function' */ void MATLABFunction_o(bool rtu_is_active, bool rtu_Txv_on, uint8_t *rty_winter_condition_state) { /* : winter_condition_state = uint8(0); */ *rty_winter_condition_state = 0U; /* : if is_active */ if (rtu_is_active) { /* : if Txv_on */ if (rtu_Txv_on) { /* : winter_condition_state = uint8(3); */ *rty_winter_condition_state = 3U; } else { /* : else */ /* : winter_condition_state = uint8(2); */ *rty_winter_condition_state = 2U; } } } /* Function for Test Sequence: '/test duct filter' */ static void step_1(void) { /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_2; /* : CCUCAN_BCM_Powertrain_model.BCM_AmbTempRaw_ro = uint16(6000); */ rtDW.CCUCAN_BCM_Powertrain_model.BCM_AmbTempRaw_ro = 6000U; /* : ADC_Data_Model.Sensor_Front_Duct1=uint16(1000); */ rtDW.ADC_Data_Model.Sensor_Front_Duct1 = 1000U; /* : t_now = uint32(1000); */ rtDW.t_now = 1000U; } else { /* : CCUCAN_BCM_VEH_STATE_model.BCM_T15_Stat=uint8(1); */ rtDW.CCUCAN_BCM_VEH_STATE_model.BCM_T15_Stat = 1U; /* : t_now = uint32(0); */ rtDW.t_now = 0U; } } /* Function for Test Sequence: '/test duct filter' */ static void step_2(void) { /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_3; /* : t_now = uint32(2000); */ rtDW.t_now = 2000U; } else { /* : CCUCAN_BCM_Powertrain_model.BCM_AmbTempRaw_ro = uint16(6000); */ rtDW.CCUCAN_BCM_Powertrain_model.BCM_AmbTempRaw_ro = 6000U; /* : ADC_Data_Model.Sensor_Front_Duct1=uint16(1000); */ rtDW.ADC_Data_Model.Sensor_Front_Duct1 = 1000U; /* : t_now = uint32(1000); */ rtDW.t_now = 1000U; } } /* Function for Test Sequence: '/test duct filter' */ static void step_3(void) { /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_4; /* : ADC_Data_Model.Sensor_Front_Duct1=uint16(1500); */ rtDW.ADC_Data_Model.Sensor_Front_Duct1 = 1500U; /* : t_now = uint32(3000); */ rtDW.t_now = 3000U; } else { /* : t_now = uint32(2000); */ rtDW.t_now = 2000U; } } /* Function for Test Sequence: '/test duct filter' */ static void step_4(void) { /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_5; /* : t_now = uint32(4000); */ rtDW.t_now = 4000U; } else { /* : ADC_Data_Model.Sensor_Front_Duct1=uint16(1500); */ rtDW.ADC_Data_Model.Sensor_Front_Duct1 = 1500U; /* : t_now = uint32(3000); */ rtDW.t_now = 3000U; } } /* Function for Chart: '/A//C Control' */ static void E_COMP_MANAGER(bool *Enable_Comp_PID, const int16_t *Eva_F_tg, const int16_t *Eva_R_tg) { if (rtDW.is_E_COMP_MANAGER == IN_COMP_OFF) { *Enable_Comp_PID = false; /* DataStoreRead: '/Data Store Read55' incorporates: * DataStoreRead: '/Data Store Read37' */ /* : sf_internal_predicateOutput = (FRONT_Start_request ==1 || REAR_Start_request == 1 || Chiller_Start_request ==1) && Pressure_Hi_Fault == 0 && Pressure_Condition_table_OK == 1 && eCompChiller_Err==false && BCM_T15_Stat == 1; */ if ((rtDW.FRONT_Start_request || rtDW.REAR_Start_request || rtDW.Chiller_Start_request) && (!rtDW.Pressure_Hi_Fault) && rtDW.Pressure_Condition_table_OK && (rtDW.eCompChiller_Err == 0.0) && (rtDW.BCM_T15_Stat == 1)) { rtDW.is_E_COMP_MANAGER = IN_COMP_ON; /* : Enable_Comp_PID = true; */ *Enable_Comp_PID = true; } } else { bool tmp; bool tmp_0; /* case IN_COMP_ON: */ *Enable_Comp_PID = true; /* : sf_internal_predicateOutput = [(FRONT_Start_request ==0 && REAR_Start_request == 0 && Chiller_Start_request ==0) || Pressure_Hi_Fault == 1 || Pressure_Condition_table_OK == 0 || eCompChiller_Err==true || BCM_T15_Stat == 0]; */ tmp = !rtDW.FRONT_Start_request; tmp_0 = !rtDW.REAR_Start_request; /* DataStoreRead: '/Data Store Read55' incorporates: * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read37' * DataStoreRead: '/Data Store Read52' * DataStoreRead: '/Data Store Read54' * DataStoreWrite: '/Data Store Write35' * DataStoreWrite: '/Data Store Write36' */ if ((tmp && tmp_0 && (!rtDW.Chiller_Start_request)) || rtDW.Pressure_Hi_Fault || (!rtDW.Pressure_Condition_table_OK) || (rtDW.eCompChiller_Err == 1.0) || (rtDW.BCM_T15_Stat == 0)) { rtDW.is_E_COMP_MANAGER = IN_COMP_OFF; /* : Enable_Comp_PID = false; */ *Enable_Comp_PID = false; /* : Chiller_Only_Flag = 0; */ rtB.Chiller_Only_Flag = 0.0; /* : Comp_Feedback_Temp = 0; */ rtB.Comp_Feedback_Temp = 0; /* : FRONT_eTXV = true; */ rtB.FRONT_eTXV = true; /* : REAR_eTXV = true; */ rtB.REAR_eTXV = true; /* : Chiller_eTXV = true; */ rtB.Chiller_eTXV = true; /* : Eva_Ctrl = 0; */ rtB.Eva_Ctrl = 0U; } else { bool tmp_1; bool tmp_2; /* : FRONT_eTXV = (FRONT_Start_request == 1); */ rtB.FRONT_eTXV = rtDW.FRONT_Start_request; /* : REAR_eTXV = (REAR_Start_request == 1); */ rtB.REAR_eTXV = rtDW.REAR_Start_request; /* : Chiller_eTXV = (Chiller_Start_request == 1); */ rtB.Chiller_eTXV = rtDW.Chiller_Start_request; /* : if FRONT_Start_request == 1 && REAR_Start_request == 1 */ tmp_1 = (rtDW.FRONT_Start_request && rtDW.REAR_Start_request); if (tmp_1) { /* : if Eva_R < Eva_F */ if (rtDW.Eva_R < rtDW.Eva_F) { /* : Comp_Feedback_Temp = Eva_R; */ rtB.Comp_Feedback_Temp = rtDW.Eva_R; /* : Comp_Target_Temp = Target_Rear; */ rtB.Comp_Target_Temp = *Eva_R_tg; } else { /* : else */ /* : Comp_Feedback_Temp = Eva_F; */ rtB.Comp_Feedback_Temp = rtDW.Eva_F; /* : Comp_Target_Temp = Target_Front; */ rtB.Comp_Target_Temp = *Eva_F_tg; } } else if (rtDW.FRONT_Start_request) { /* : elseif FRONT_Start_request == 1 */ /* : Comp_Feedback_Temp = Eva_F; */ rtB.Comp_Feedback_Temp = rtDW.Eva_F; /* : Comp_Target_Temp = Target_Front; */ rtB.Comp_Target_Temp = *Eva_F_tg; } else if (rtDW.REAR_Start_request) { /* : elseif REAR_Start_request == 1 */ /* : Comp_Feedback_Temp = Eva_R; */ rtB.Comp_Feedback_Temp = rtDW.Eva_R; /* : Comp_Target_Temp = Target_Rear; */ rtB.Comp_Target_Temp = *Eva_R_tg; } else { /* : else */ /* : Comp_Feedback_Temp = Eva_F; */ rtB.Comp_Feedback_Temp = rtDW.Eva_F; /* : Comp_Target_Temp = Target_Front; */ rtB.Comp_Target_Temp = *Eva_F_tg; } /* : if Comp_Feedback_Temp == Eva_R */ if ((rtB.Comp_Feedback_Temp == rtDW.Eva_R) && (rtDW.CCU_SET_RL < 200)) { /* : if Rear_set_temp < 200 */ /* : Comp_Target_Temp = int16(30); */ rtB.Comp_Target_Temp = 30; } /* : if Chiller_Start_request == 1 && FRONT_Start_request == 0 && REAR_Start_request == 0 */ tmp_2 = (rtDW.Chiller_Start_request && tmp && tmp_0); if (tmp_2) { /* : Chiller_Only_Flag = 1; */ rtB.Chiller_Only_Flag = 1.0; } else { /* : else */ /* : Chiller_Only_Flag = 0; */ rtB.Chiller_Only_Flag = 0.0; } /* : if FRONT_Start_request == 1 && REAR_Start_request == 1 */ if (tmp_1) { /* : if Eva_R < Eva_F */ if (rtDW.Eva_R < rtDW.Eva_F) { /* : Eva_Ctrl = 5; */ rtB.Eva_Ctrl = 5U; } else { /* : else */ /* : Eva_Ctrl = 4; */ rtB.Eva_Ctrl = 4U; } } else if (rtDW.FRONT_Start_request && tmp_0) { /* : elseif FRONT_Start_request == 1 && REAR_Start_request == 0 */ /* : Eva_Ctrl = 2; */ rtB.Eva_Ctrl = 2U; } else if (tmp && rtDW.REAR_Start_request) { /* : elseif FRONT_Start_request == 0 && REAR_Start_request == 1 */ /* : Eva_Ctrl = 3; */ rtB.Eva_Ctrl = 3U; } else if (tmp_2) { /* : elseif Chiller_Start_request == 1 && FRONT_Start_request == 0 && REAR_Start_request == 0 */ /* : Eva_Ctrl = 1; */ rtB.Eva_Ctrl = 1U; } else { /* : else */ /* : Eva_Ctrl = 0; */ rtB.Eva_Ctrl = 0U; } } } } /* Function for Chart: '/Synchronization stateflow chart' */ static void enter_atomic_REAR_ONLY(void) { /* : sync_state = 3; */ /* : sync_front = 0; */ rtB.sync_front = 0U; /* : sync_rear = 1; */ rtB.sync_rear = 1U; /* : sync_all = 0; */ rtB.sync_all = 0U; /* : enable_full_sync=0; */ rtDW.enable_full_sync = 0U; /* : enable_rear_sync = 0; */ rtDW.enable_rear_sync = 0U; /* : enable_front_sync = 0; */ rtDW.enable_front_sync = 0U; /* : disable_front_sync = 0; */ rtDW.disable_front_sync = 0U; /* : disable_rear_sync = 0; */ rtDW.disable_rear_sync = 0U; /* : changed_FR_params = 0; */ rtDW.changed_FR_params = 0U; /* : changed_RL_params = 0; */ rtDW.changed_RL_params = 0U; /* : changed_RR_params = 0 */ rtDW.changed_RR_params = 0U; } /* Function for Chart: '/Synchronization stateflow chart' */ static void enter_atomic_FRONT_ONLY(void) { /* : sync_state = 1; */ /* : sync_front = 1; */ rtB.sync_front = 1U; /* : sync_rear = 0; */ rtB.sync_rear = 0U; /* : sync_all = 0; */ rtB.sync_all = 0U; /* : enable_full_sync=0; */ rtDW.enable_full_sync = 0U; /* : enable_rear_sync = 0; */ rtDW.enable_rear_sync = 0U; /* : enable_front_sync = 0; */ rtDW.enable_front_sync = 0U; /* : disable_front_sync = 0; */ rtDW.disable_front_sync = 0U; /* : disable_rear_sync = 0; */ rtDW.disable_rear_sync = 0U; /* : changed_FR_params = 0; */ rtDW.changed_FR_params = 0U; /* : changed_RL_params = 0; */ rtDW.changed_RL_params = 0U; /* : changed_RR_params = 0 */ rtDW.changed_RR_params = 0U; } /* Function for Chart: '/Synchronization stateflow chart' */ static void enter_atomic_FULL_SYNC(void) { /* : sync_state = 2; */ /* : sync_front = 0; */ rtB.sync_front = 0U; /* : sync_rear = 0; */ rtB.sync_rear = 0U; /* : sync_all = 1; */ rtB.sync_all = 1U; /* : enable_full_sync=0; */ rtDW.enable_full_sync = 0U; /* : enable_rear_sync = 0; */ rtDW.enable_rear_sync = 0U; /* : enable_front_sync = 0; */ rtDW.enable_front_sync = 0U; /* : disable_front_sync = 0; */ rtDW.disable_front_sync = 0U; /* : disable_rear_sync = 0; */ rtDW.disable_rear_sync = 0U; /* : changed_FR_params = 0; */ rtDW.changed_FR_params = 0U; /* : changed_RL_params = 0; */ rtDW.changed_RL_params = 0U; /* : changed_RR_params = 0 */ rtDW.changed_RR_params = 0U; } /* Function for Chart: '/Synchronization stateflow chart' */ static void enter_atomic_SEPARATE_FRONT_AND_REAR(void) { /* : sync_state = 4; */ /* : sync_front = 1; */ rtB.sync_front = 1U; /* : sync_rear = 1; */ rtB.sync_rear = 1U; /* : sync_all = 0; */ rtB.sync_all = 0U; /* : enable_full_sync=0; */ rtDW.enable_full_sync = 0U; /* : enable_rear_sync = 0; */ rtDW.enable_rear_sync = 0U; /* : enable_front_sync = 0; */ rtDW.enable_front_sync = 0U; /* : disable_front_sync = 0; */ rtDW.disable_front_sync = 0U; /* : disable_rear_sync = 0; */ rtDW.disable_rear_sync = 0U; /* : changed_FR_params = 0; */ rtDW.changed_FR_params = 0U; /* : changed_RL_params = 0; */ rtDW.changed_RL_params = 0U; /* : changed_RR_params = 0 */ rtDW.changed_RR_params = 0U; } /* Function for Chart: '/Synchronization stateflow chart' */ static void enter_atomic_NO_SYNC(void) { /* : sync_state = 0; */ /* : sync_front = 0; */ rtB.sync_front = 0U; /* : sync_rear = 0; */ rtB.sync_rear = 0U; /* : sync_all = 0; */ rtB.sync_all = 0U; /* : enable_full_sync=0; */ rtDW.enable_full_sync = 0U; /* : enable_rear_sync = 0; */ rtDW.enable_rear_sync = 0U; /* : enable_front_sync = 0; */ rtDW.enable_front_sync = 0U; /* : disable_front_sync = 0; */ rtDW.disable_front_sync = 0U; /* : disable_rear_sync = 0; */ rtDW.disable_rear_sync = 0U; /* : changed_FR_params = 0; */ rtDW.changed_FR_params = 0U; /* : changed_RL_params = 0; */ rtDW.changed_RL_params = 0U; /* : changed_RR_params = 0; */ rtDW.changed_RR_params = 0U; } /* * Function for Chart: '/Partial REC' * function idx = find_index(delta) */ static double find_index(int16_t delta) { double idx; int32_t i; /* : idx = 1; */ idx = 1.0; /* : for i = 1:7 */ i = 0; while ((i < 7) && (delta >= g_assPREC_EVA_DIFF_FB_TG_F[i])) { /* : if delta >= g_assPREC_EVA_DIFF_FB_TG_F(i) */ /* : idx = i; */ idx = (double)i + 1.0; i++; } /* : else */ return idx; } /* Function for MATLAB Function: '/MATLAB Function1' */ static bool isequal(const CmdCAN_FIU_CCU1_Bus varargin_1, const CmdCAN_FIU_CCU1_Bus varargin_2) { bool e_p; bool p; p = false; if (varargin_1.FIU_FrontZoneSync_Req == varargin_2.FIU_FrontZoneSync_Req) { if (varargin_1.FIU_DeflectorSwFPR_Req == varargin_2.FIU_DeflectorSwFPR_Req) { if (varargin_1.FIU_DeflectorSwFPL_Req == varargin_2.FIU_DeflectorSwFPL_Req) { if (varargin_1.FIU_ACfrontOFF_Req == varargin_2.FIU_ACfrontOFF_Req) { if (varargin_1.FIU_DeflectorSwDR_Req == varargin_2.FIU_DeflectorSwDR_Req) { if (varargin_1.FIU_DeflectorSwDL_Req == varargin_2.FIU_DeflectorSwDL_Req) { if (varargin_1.FIU_Recirculation_Req == varargin_2.FIU_Recirculation_Req) { if (varargin_1.FIU_CCautoModeFR_Req == varargin_2.FIU_CCautoModeFR_Req) { if (varargin_1.FIU_CCautoModeFL_Req == varargin_2.FIU_CCautoModeFL_Req) { if (varargin_1.FIU_BlowerSpeedFR_Req == varargin_2.FIU_BlowerSpeedFR_Req) { if (varargin_1.FIU_BlowerSpeedFL_Req == varargin_2.FIU_BlowerSpeedFL_Req) { if (varargin_1.FIU_AirDirectionFR_Foot_Req == varargin_2.FIU_AirDirectionFR_Foot_Req) { if (varargin_1.FIU_AirDirectionFR_Face_Req == varargin_2.FIU_AirDirectionFR_Face_Req) { if (varargin_1.FIU_AirDirectionFR_Def_Req == varargin_2.FIU_AirDirectionFR_Def_Req) { if (varargin_1.FIU_CCmodeFR_Req == varargin_2.FIU_CCmodeFR_Req) { if (varargin_1.FIU_AirDirectionFL_Foot_Req == varargin_2.FIU_AirDirectionFL_Foot_Req) { if (varargin_1.FIU_AirDirectionFL_Face_Req == varargin_2.FIU_AirDirectionFL_Face_Req) { if (varargin_1.FIU_AirDirectionFL_Def_Req == varargin_2.FIU_AirDirectionFL_Def_Req) { if (varargin_1.FIU_CCmodeFL_Req == varargin_2.FIU_CCmodeFL_Req) { if (varargin_1.FIU_FootTempCorFR_Req == varargin_2.FIU_FootTempCorFR_Req) { if (varargin_1.FIU_TargetTempFR_Val_ro == varargin_2.FIU_TargetTempFR_Val_ro) { e_p = ((varargin_1.FIU_FootTempCorFL_Req == varargin_2.FIU_FootTempCorFL_Req) && (varargin_1.FIU_TargetTempFL_Val_ro == varargin_2.FIU_TargetTempFL_Val_ro)); } else { e_p = false; } } else { e_p = false; } } else { e_p = false; } } else { e_p = false; } } else { e_p = false; } } else { e_p = false; } } else { e_p = false; } } else { e_p = false; } } else { e_p = false; } } else { e_p = false; } } else { e_p = false; } } else { e_p = false; } } else { e_p = false; } } else { e_p = false; } } else { e_p = false; } } else { e_p = false; } } else { e_p = false; } } else { e_p = false; } } else { e_p = false; } } else { e_p = false; } } else { e_p = false; } if (e_p) { p = true; } return p; } /* Model step function */ void HVAC_model_step(void) { double rtb_Divide1_pb[9]; double rtb_Saturation_k[8]; double rtb_f_lower_upper_bounds[2]; double index_start; double rtb_Add_p4; double rtb_D; double rtb_D_la; double rtb_D_m; double rtb_D_my; double rtb_Divide; double rtb_Divide10; double rtb_Divide11; double rtb_Divide1_jg; double rtb_Divide3; double rtb_Divide5; double rtb_Divide6; double rtb_Divide7; double rtb_Divide8; double rtb_Gain17; double rtb_I; double rtb_I_g; double rtb_I_od; double rtb_P_f; double rtb_P_h; double rtb_output_cv; double rtb_output_h; int64_t tmp_2; int32_t i; int32_t index_start_0; int32_t rtb_Gain1_f; int32_t rtb_Gain2; int32_t rtb_Y_l_idx_3; uint32_t rtb_Gain2_tmp_tmp; uint32_t rtb_Gain2_tmp_tmp_0; uint32_t rtb_Subtract; uint32_t rtb_dt_nx; int16_t rtb_MultiportSwitch1_d[7]; int16_t rtb_uDLookupTable7_g[7]; int16_t tmp_1[6]; int16_t Duct_FRU_Tg_DBG[5]; int16_t Duct_RR_Tg_DBG[5]; int16_t rtb_VectorConcatenate_by[5]; int16_t rtb_VectorConcatenate_jn[5]; int16_t rtb_VectorConcatenate_kz[5]; int16_t rtb_VectorConcatenate_lb[5]; int16_t rtb_VectorConcatenate_dw[3]; int16_t rtb_VectorConcatenate_gn[3]; int16_t rtb_VectorConcatenate_np[3]; int16_t rtb_VectorConcatenate_pg[3]; int16_t rtb_out_ib[2]; int16_t Duct_FLU_Tg; int16_t Duct_FRU_Tg; int16_t Eva_F_tg; int16_t Eva_R_tg; int16_t Eva_Target; int16_t rtb_Bias1_h; int16_t rtb_Bias2_n; int16_t rtb_Bias3; int16_t rtb_Bias4; int16_t rtb_DataTypeConversion1_gq; int16_t rtb_DataTypeConversion_dl; int16_t rtb_DuctTgt_Plus_LV5; int16_t rtb_FLU_tg_correct; int16_t rtb_FLU_tg_correct_ot; int16_t rtb_FL_AUTODEMIST_OFFSET_VENT_TEMPpercentage; int16_t rtb_Foot2Duct_FL; int16_t rtb_Foot2Duct_FL_n; int16_t rtb_Foot2Duct_FR; int16_t rtb_Foot2Duct_FR_j; int16_t rtb_FrontBlr_LV0_tmp; int16_t rtb_Merge_b; int16_t rtb_MultiportSwitch1_g; int16_t rtb_MultiportSwitch_ac; int16_t rtb_MultiportSwitch_az; int16_t rtb_MultiportSwitch_cn; int16_t rtb_MultiportSwitch_cq; int16_t rtb_MultiportSwitch_dq2; int16_t rtb_MultiportSwitch_ehw; int16_t rtb_MultiportSwitch_if; int16_t rtb_MultiportSwitch_ks; int16_t rtb_MultiportSwitch_np; int16_t rtb_MultiportSwitch_oa; int16_t rtb_Switch1_f; int16_t rtb_Switch2_nb; int16_t rtb_Switch3_no; int16_t rtb_Switch4_f5; int16_t rtb_Switch5_l; int16_t rtb_Switch6_c; int16_t rtb_X; int16_t rtb_g_assEVA_TG_AMB_F_m; int16_t rtb_u5FLU_tg_incar_b; int16_t rtb_u5FLU_tg_incar_i; int16_t rtb_u5FRU_tg_incar; int16_t rtb_u5R_tg_incar; int16_t rtb_u6FLU_tg_amb_a3; int16_t rtb_u6FLU_tg_amb_d; int16_t rtb_u6FLU_tg_amb_g; int16_t rtb_u6FLU_tg_amb_h; int16_t rtb_u6FLU_tg_amb_n; int16_t rtb_u6FLU_tg_amb_o; int16_t rtb_u6FRU_tg_amb; int16_t rtb_u6FRU_tg_amb_f; int16_t rtb_y_ds; int16_t rtb_y_he; int16_t rtb_y_hg; int16_t rtb_y_n; uint16_t tmp[45]; uint16_t tmp_0[42]; uint16_t rtb_out_f[9]; uint16_t rtb_out_jgn[9]; uint16_t rtb_out_kfv[9]; uint16_t rtb_out_n[9]; uint16_t rtb_out_n1[9]; uint16_t rtb_out_nxs[9]; uint16_t rtb_out_cc4[8]; uint16_t rtb_out_cwe[8]; uint16_t rtb_out_eix[8]; uint16_t rtb_out_fey[8]; uint16_t rtb_out_hi1[8]; uint16_t rtb_out_hpp[8]; uint16_t rtb_out_ma1[8]; uint16_t rtb_out_mzr[8]; uint16_t rtb_out_ojrr[8]; uint16_t rtb_out_pj[8]; uint16_t rtb_out_po3[8]; uint16_t rtb_get_mode[7]; uint16_t rtb_Gain1_o3[6]; uint16_t rtb_TmpSignalConversionAt1DLookupTable7Inport1[6]; uint16_t rtb_out_llx[2]; uint16_t Gain1; uint16_t rtb_Saturation2_a; uint16_t rtb_Saturation_as; uint16_t rtb_out_a2e; uint16_t rtb_out_gi; uint16_t rtb_out_hpu; uint16_t rtb_out_ihi; uint16_t rtb_out_kez; uint16_t rtb_out_l1e; uint16_t rtb_out_l4w; uint16_t rtb_out_lac; uint16_t rtb_out_m44; uint16_t rtb_out_mxq; int8_t rtb_y_cb; uint8_t rtb_get_modes_for_levels[78]; uint8_t Actuator_pos_percent_Ch1[9]; uint8_t rtb_DataTypeConversion_fb[9]; uint8_t rtb_DataTypeConversion_h1[9]; uint8_t rtb_DataTypeConversion_p3[9]; uint8_t rtb_DataTypeConversion2_h4[6]; uint8_t Comp_Max_RPM_Allowed; uint8_t EN_BATTChiller; uint8_t El_window_heating; uint8_t Mode_FR; uint8_t ShutOffFront_EN; uint8_t ShutOffRear_EN; uint8_t rtb_Cmd_3Way; uint8_t rtb_DataTypeConversion1_nc; uint8_t rtb_DataTypeConversion2_au; uint8_t rtb_DataTypeConversion3_gz; uint8_t rtb_DataTypeConversion3_it; uint8_t rtb_DataTypeConversion3_l4; uint8_t rtb_Merge_c5; uint8_t rtb_Merge_m4; uint8_t rtb_Switch1_j; uint8_t rtb_timer_out; bool rtb_LogicalOperator3_nq[9]; bool rtb_Compare_le[8]; bool rtb_LogicalOperator3_k[6]; bool Enable_Comp_PID; bool WinterCondition_eTXV_ON_Front; bool WinterCondition_eTXV_ON_Rear; bool WinterCondition_is_active_F; bool WinterCondition_is_active_R; bool eComp_stop; bool rtb_AND2_b; bool rtb_Compare_al; bool rtb_Compare_bef; bool rtb_Compare_bu; bool rtb_Compare_ec; bool rtb_Compare_ff; bool rtb_Compare_fi; bool rtb_Compare_gy; bool rtb_Compare_h2; bool rtb_Compare_hs; bool rtb_Compare_ht; bool rtb_Compare_i1; bool rtb_Compare_if; bool rtb_Compare_jv; bool rtb_Compare_jv1; bool rtb_Compare_jve; bool rtb_Compare_jz; bool rtb_Compare_ku; bool rtb_Compare_lq; bool rtb_Compare_n3; bool rtb_Compare_n5; bool rtb_Compare_n5k; bool rtb_Compare_o5; bool rtb_Compare_pjy; bool rtb_Compare_ps1; bool rtb_Compare_pt; bool rtb_FailCond_ad; bool rtb_FailCond_d4; bool rtb_FailCond_e; bool rtb_FailCond_iw; bool rtb_FailCond_l; bool rtb_FailCond_mq; bool rtb_LogicalOperator; bool rtb_LogicalOperator1; bool rtb_LogicalOperator10; bool rtb_LogicalOperator11; bool rtb_LogicalOperator1_dv; bool rtb_LogicalOperator1_n; bool rtb_LogicalOperator3; bool rtb_LogicalOperator3_cz; bool rtb_LogicalOperator4_fo; bool rtb_LogicalOperator6; bool rtb_LogicalOperator6_m; bool rtb_LogicalOperator8; bool rtb_LogicalOperator8_i; bool rtb_LogicalOperator_fc; bool rtb_RelationalOperator2_l4; bool rtb_err; static const int8_t tmp_3[6] = { 0, 1, 2, 3, 4, 6 }; static const int8_t tmp_4[5] = { 0, 1, 2, 3, 5 }; bool exitg1; bool guard1; bool guard2; /* Test Sequence: '/test duct filter' */ if (rtDW.temporalCounter_i1 < 1U) { rtDW.temporalCounter_i1++; } if (rtDW.is_active_c1504_HVAC_model == 0U) { rtDW.is_active_c1504_HVAC_model = 1U; rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_1; /* : CCUCAN_BCM_VEH_STATE_model.BCM_T15_Stat=uint8(1); */ rtDW.CCUCAN_BCM_VEH_STATE_model.BCM_T15_Stat = 1U; /* : t_now = uint32(0); */ rtDW.t_now = 0U; } else { switch (rtDW.is_c1504_HVAC_model) { case IN_step_1: step_1(); break; case IN_step_10: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_11; /* : t_now = uint32(10000); */ rtDW.t_now = 10000U; } else { /* : t_now = uint32(9000); */ rtDW.t_now = 9000U; } break; case IN_step_11: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_12; /* : t_now = uint32(11000); */ rtDW.t_now = 11000U; } else { /* : t_now = uint32(10000); */ rtDW.t_now = 10000U; } break; case IN_step_12: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_13; /* : t_now = uint32(12000); */ rtDW.t_now = 12000U; } else { /* : t_now = uint32(11000); */ rtDW.t_now = 11000U; } break; case IN_step_13: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_14; /* : t_now = uint32(13000); */ rtDW.t_now = 13000U; } else { /* : t_now = uint32(12000); */ rtDW.t_now = 12000U; } break; case IN_step_14: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_15; /* : t_now = uint32(14000); */ rtDW.t_now = 14000U; } else { /* : t_now = uint32(13000); */ rtDW.t_now = 13000U; } break; case IN_step_15: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_16; /* : t_now = uint32(15000); */ rtDW.t_now = 15000U; } else { /* : t_now = uint32(14000); */ rtDW.t_now = 14000U; } break; case IN_step_16: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_17; /* : t_now = uint32(16000); */ rtDW.t_now = 16000U; } else { /* : t_now = uint32(15000); */ rtDW.t_now = 15000U; } break; case IN_step_17: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_18; /* : t_now = uint32(17000); */ rtDW.t_now = 17000U; } else { /* : t_now = uint32(16000); */ rtDW.t_now = 16000U; } break; case IN_step_18: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_19; /* : t_now = uint32(18000); */ rtDW.t_now = 18000U; } else { /* : t_now = uint32(17000); */ rtDW.t_now = 17000U; } break; case IN_step_19: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_20; /* : t_now = uint32(19000); */ rtDW.t_now = 19000U; } else { /* : t_now = uint32(18000); */ rtDW.t_now = 18000U; } break; case IN_step_2: step_2(); break; case IN_step_20: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_21; /* : t_now = uint32(20000); */ rtDW.t_now = 20000U; } else { /* : t_now = uint32(19000); */ rtDW.t_now = 19000U; } break; case IN_step_21: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_22; /* : t_now = uint32(21000); */ rtDW.t_now = 21000U; } else { /* : t_now = uint32(20000); */ rtDW.t_now = 20000U; } break; case IN_step_22: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_23; /* : t_now = uint32(22000); */ rtDW.t_now = 22000U; } else { /* : t_now = uint32(21000); */ rtDW.t_now = 21000U; } break; case IN_step_23: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_24; /* : t_now = uint32(22000); */ rtDW.t_now = 22000U; } else { /* : t_now = uint32(22000); */ rtDW.t_now = 22000U; } break; case IN_step_24: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_25; /* : t_now = uint32(22000); */ rtDW.t_now = 22000U; } else { /* : t_now = uint32(22000); */ rtDW.t_now = 22000U; } break; case IN_step_25: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_26; /* : t_now = uint32(22000); */ rtDW.t_now = 22000U; } else { /* : t_now = uint32(22000); */ rtDW.t_now = 22000U; } break; case IN_step_26: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_27; /* : t_now = uint32(22000); */ rtDW.t_now = 22000U; } else { /* : t_now = uint32(22000); */ rtDW.t_now = 22000U; } break; case IN_step_27: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_28; /* : t_now = uint32(22000); */ rtDW.t_now = 22000U; } else { /* : t_now = uint32(22000); */ rtDW.t_now = 22000U; } break; case IN_step_28: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_29; /* : t_now = uint32(22000); */ rtDW.t_now = 22000U; } else { /* : t_now = uint32(22000); */ rtDW.t_now = 22000U; } break; case IN_step_29: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_30; /* : t_now = uint32(22000); */ rtDW.t_now = 22000U; } else { /* : t_now = uint32(22000); */ rtDW.t_now = 22000U; } break; case IN_step_3: step_3(); break; case IN_step_30: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_31; /* : t_now = uint32(22000); */ rtDW.t_now = 22000U; } else { /* : t_now = uint32(22000); */ rtDW.t_now = 22000U; } break; case IN_step_31: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_32; /* : t_now = uint32(22000); */ rtDW.t_now = 22000U; } else { /* : t_now = uint32(22000); */ rtDW.t_now = 22000U; } break; case IN_step_32: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_33; /* : t_now = uint32(22000); */ rtDW.t_now = 22000U; } else { /* : t_now = uint32(22000); */ rtDW.t_now = 22000U; } break; case IN_step_33: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_34; /* : t_now = uint32(200); */ rtDW.t_now = 200U; } else { /* : t_now = uint32(22000); */ rtDW.t_now = 22000U; } break; case IN_step_34: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_35; /* : t_now = uint32(22000); */ rtDW.t_now = 22000U; } else { /* : t_now = uint32(200); */ rtDW.t_now = 200U; } break; case IN_step_35: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_36; /* : t_now = uint32(22000); */ rtDW.t_now = 22000U; } else { /* : t_now = uint32(22000); */ rtDW.t_now = 22000U; } break; case IN_step_36: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_37; /* : t_now = uint32(22000); */ rtDW.t_now = 22000U; } else { /* : t_now = uint32(22000); */ rtDW.t_now = 22000U; } break; case IN_step_37: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_38; } else { /* : t_now = uint32(22000); */ rtDW.t_now = 22000U; } break; case IN_step_38: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_39; /* : t_now = uint32(22000); */ rtDW.t_now = 22000U; } break; case IN_step_39: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_40; /* : t_now = uint32(22000); */ rtDW.t_now = 22000U; } else { /* : t_now = uint32(22000); */ rtDW.t_now = 22000U; } break; case IN_step_4: step_4(); break; case IN_step_40: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_41; /* : t_now = uint32(22000); */ rtDW.t_now = 22000U; } else { /* : t_now = uint32(22000); */ rtDW.t_now = 22000U; } break; case IN_step_41: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_42; /* : t_now = uint32(22000); */ rtDW.t_now = 22000U; } else { /* : t_now = uint32(22000); */ rtDW.t_now = 22000U; } break; case IN_step_42: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_43; } else { /* : t_now = uint32(22000); */ rtDW.t_now = 22000U; } break; case IN_step_43: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_45; /* : t_now = uint32(22000); */ rtDW.t_now = 22000U; } break; case IN_step_44: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_46; /* : t_now = uint32(22000); */ rtDW.t_now = 22000U; } break; case IN_step_45: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_44; } else { /* : t_now = uint32(22000); */ rtDW.t_now = 22000U; } break; case IN_step_46: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_47; /* : t_now = uint32(43000); */ rtDW.t_now = 43000U; } else { /* : t_now = uint32(22000); */ rtDW.t_now = 22000U; } break; case IN_step_47: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_48; /* : t_now = uint32(62000); */ rtDW.t_now = 62000U; } else { /* : t_now = uint32(43000); */ rtDW.t_now = 43000U; } break; case IN_step_48: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_49; /* : t_now = uint32(62000); */ rtDW.t_now = 62000U; } else { /* : t_now = uint32(62000); */ rtDW.t_now = 62000U; } break; case IN_step_49: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_50; /* : t_now = uint32(62000); */ rtDW.t_now = 62000U; } else { /* : t_now = uint32(62000); */ rtDW.t_now = 62000U; } break; case IN_step_5: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_6; /* : t_now = uint32(5000); */ rtDW.t_now = 5000U; } else { /* : t_now = uint32(4000); */ rtDW.t_now = 4000U; } break; case IN_step_50: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_51; /* : t_now = uint32(62000); */ rtDW.t_now = 62000U; } else { /* : t_now = uint32(62000); */ rtDW.t_now = 62000U; } break; case IN_step_51: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_52; /* : t_now = uint32(62000); */ rtDW.t_now = 62000U; } else { /* : t_now = uint32(62000); */ rtDW.t_now = 62000U; } break; case IN_step_52: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_53; /* : t_now = uint32(62000); */ rtDW.t_now = 62000U; } else { /* : t_now = uint32(62000); */ rtDW.t_now = 62000U; } break; case IN_step_53: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_54; /* : t_now = uint32(62000); */ rtDW.t_now = 62000U; } else { /* : t_now = uint32(62000); */ rtDW.t_now = 62000U; } break; case IN_step_54: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_55; /* : t_now = uint32(62000); */ rtDW.t_now = 62000U; } else { /* : t_now = uint32(62000); */ rtDW.t_now = 62000U; } break; case IN_step_55: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_56; /* : t_now = uint32(62000); */ rtDW.t_now = 62000U; } else { /* : t_now = uint32(62000); */ rtDW.t_now = 62000U; } break; case IN_step_56: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_57; /* : t_now = uint32(62000); */ rtDW.t_now = 62000U; } else { /* : t_now = uint32(62000); */ rtDW.t_now = 62000U; } break; case IN_step_57: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_58; /* : t_now = uint32(62000); */ rtDW.t_now = 62000U; } else { /* : t_now = uint32(62000); */ rtDW.t_now = 62000U; } break; case IN_step_58: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_59; /* : t_now = uint32(62000); */ rtDW.t_now = 62000U; } else { /* : t_now = uint32(62000); */ rtDW.t_now = 62000U; } break; case IN_step_59: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_60; /* : t_now = uint32(62000); */ rtDW.t_now = 62000U; } else { /* : t_now = uint32(62000); */ rtDW.t_now = 62000U; } break; case IN_step_6: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_7; /* : t_now = uint32(6000); */ rtDW.t_now = 6000U; } else { /* : t_now = uint32(5000); */ rtDW.t_now = 5000U; } break; case IN_step_60: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_61; /* : t_now = uint32(62000); */ rtDW.t_now = 62000U; } else { /* : t_now = uint32(62000); */ rtDW.t_now = 62000U; } break; case IN_step_61: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_62; /* : t_now = uint32(62000); */ rtDW.t_now = 62000U; } else { /* : t_now = uint32(62000); */ rtDW.t_now = 62000U; } break; case IN_step_62: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_63; /* : t_now = uint32(72000); */ rtDW.t_now = 72000U; } else { /* : t_now = uint32(62000); */ rtDW.t_now = 62000U; } break; case IN_step_63: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_64; /* : t_now = uint32(82000); */ rtDW.t_now = 82000U; } else { /* : t_now = uint32(72000); */ rtDW.t_now = 72000U; } break; case IN_step_64: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_65; /* : t_now = uint32(93000); */ rtDW.t_now = 93000U; } else { /* : t_now = uint32(82000); */ rtDW.t_now = 82000U; } break; case IN_step_65: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_66; } else { /* : t_now = uint32(93000); */ rtDW.t_now = 93000U; } break; case IN_step_66: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.is_c1504_HVAC_model = IN_step_67; } break; case IN_step_67: break; case IN_step_7: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_8; /* : t_now = uint32(7000); */ rtDW.t_now = 7000U; } else { /* : t_now = uint32(6000); */ rtDW.t_now = 6000U; } break; case IN_step_8: /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_9; /* : t_now = uint32(8000); */ rtDW.t_now = 8000U; } else { /* : t_now = uint32(7000); */ rtDW.t_now = 7000U; } break; default: /* case IN_step_9: */ /* : sf_internal_predicateOutput = after(1, sec); */ if (rtDW.temporalCounter_i1 >= 1U) { rtDW.temporalCounter_i1 = 0U; rtDW.is_c1504_HVAC_model = IN_step_10; /* : t_now = uint32(9000); */ rtDW.t_now = 9000U; } else { /* : t_now = uint32(8000); */ rtDW.t_now = 8000U; } break; } } /* End of Test Sequence: '/test duct filter' */ /* Gain: '/Gain' incorporates: * DataStoreRead: '/Data Store Read' */ rtb_Saturation_as = (uint16_t)(10U * rtDW.PWM_front); /* Gain: '/Gain1' incorporates: * DataStoreRead: '/Data Store Read47' */ Gain1 = (uint16_t)(10U * rtDW.PWM_rear); /* Switch: '/Switch4' incorporates: * Constant: '/Constant8' * DataStoreRead: '/Data Store Read44' * DataStoreRead: '/Data Store Read77' * RelationalOperator: '/Relational Operator2' */ if (rtDW.condition_ac_max == 1.0) { rtb_Switch2_nb = 1; } else { rtb_Switch2_nb = rtDW.CCU_AC_FRONT; } /* Logic: '/Logical Operator' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read3' * DataTypeConversion: '/Data Type Conversion' * Switch: '/Switch4' */ rtb_LogicalOperator = ((rtb_Switch2_nb != 0) || rtDW.AC_front_on_req_from_autodemist || rtDW.Max_def_algo_active); /* Outputs for Atomic SubSystem: '/WINTER CONDITION' */ /* MATLAB Function: '/MATLAB Function4' incorporates: * DataStoreRead: '/Data Store Read8' */ /* : AMB_THRESHOLD = 0; */ /* : AMB_HYSTERESIS = 10; */ /* : if isempty(amb_condition_latched) */ /* : if Amb_fb < AMB_THRESHOLD */ if (rtDW.AMB < 0) { /* : amb_condition_latched = true; */ rtDW.amb_condition_latched = true; } else if (rtDW.AMB > 10) { /* : elseif Amb_fb > (AMB_THRESHOLD + AMB_HYSTERESIS) */ /* : amb_condition_latched = false; */ rtDW.amb_condition_latched = false; } /* RelationalOperator: '/Relational Operator6' incorporates: * DataStoreRead: '/Data Store Read51' */ /* : amb_condition = amb_condition_latched; */ rtb_LogicalOperator_fc = (rtDW.CCU_AC_REAR != 0); /* Logic: '/AND2' incorporates: * DataStoreRead: '/Data Store Read1' * MATLAB Function: '/MATLAB Function4' * RelationalOperator: '/Relational Operator5' */ rtb_AND2_b = (rtDW.amb_condition_latched && rtb_LogicalOperator_fc && (rtDW.LEVEL >= 3)); /* MATLAB Function: '/MATLAB Function3' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read2' * Logic: '/Logical Operator1' */ /* : TEMP_SET_THRESHOLD = 200; */ /* : R_EVAP_DTG_LOW = 30; */ /* : R_EVAP_DTG_DEFAULT = 0; */ /* : if isempty(is_active_persistent) */ /* : is_active = is_active_persistent; */ /* : R_Evap_tg = R_Evap_tg_persistent; */ /* : if entry_conditions_rear && ~is_active_persistent */ if (rtb_AND2_b && (!rtDW.is_active_persistent_m)) { /* : is_active_persistent = true; */ rtDW.is_active_persistent_m = true; /* : if (RL_Temp_Set < TEMP_SET_THRESHOLD) || (RR_Temp_Set < TEMP_SET_THRESHOLD) */ if ((rtDW.CCU_SET_RL < 200) || (rtDW.CCU_SET_RR < 200)) { /* : R_Evap_tg_persistent = R_EVAP_DTG_LOW; */ rtDW.R_Evap_tg_persistent = 30.0; } else { /* : else */ /* : R_Evap_tg_persistent = R_EVAP_DTG_DEFAULT; */ rtDW.R_Evap_tg_persistent = 0.0; } /* : is_active = is_active_persistent; */ /* : R_Evap_tg = R_Evap_tg_persistent; */ } else if ((!rtb_AND2_b) && rtDW.is_active_persistent_m) { /* : elseif exit_conditions_rear && is_active_persistent */ /* : is_active_persistent = false; */ rtDW.is_active_persistent_m = false; /* : R_Evap_tg_persistent = 0; */ rtDW.R_Evap_tg_persistent = 0.0; /* : is_active = is_active_persistent; */ /* : R_Evap_tg = R_Evap_tg_persistent; */ } else if (rtDW.is_active_persistent_m) { /* : elseif is_active_persistent */ /* : if (RL_Temp_Set < TEMP_SET_THRESHOLD) || (RR_Temp_Set < TEMP_SET_THRESHOLD) */ if ((rtDW.CCU_SET_RL < 200) || (rtDW.CCU_SET_RR < 200)) { /* : R_Evap_tg_persistent = R_EVAP_DTG_LOW; */ rtDW.R_Evap_tg_persistent = 30.0; } else { /* : else */ /* : R_Evap_tg_persistent = R_EVAP_DTG_DEFAULT; */ rtDW.R_Evap_tg_persistent = 0.0; } /* : R_Evap_tg = R_Evap_tg_persistent; */ } /* End of MATLAB Function: '/MATLAB Function3' */ /* Lookup_n-D: '/g_assEVA_TG_AMB_F' incorporates: * DataStoreRead: '/Data Store Read8' */ rtb_g_assEVA_TG_AMB_F_m = look1_is16lu64n32Ds32_binlcs(rtDW.AMB, &g_assFAILURE_AMB_TEMP[0], &g_assEVA_TG_AMB_F[0], 12U); /* MATLAB Function: '/MATLAB Function' incorporates: * Constant: '/Constant3' * Constant: '/auto1' * Constant: '/auto2' * Constant: '/auto3' * Constant: '/auto4' * Constant: '/auto7' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read4' * DataStoreRead: '/Data Store Read6' * DataStoreRead: '/Data Store Read8' * DataStoreWrite: '/Data Store Write' * DataStoreWrite: '/Data Store Write2' * Logic: '/AND' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator3' * RelationalOperator: '/Relational Operator4' * RelationalOperator: '/Relational Operator7' * RelationalOperator: '/Relational Operator8' */ /* : if isempty(is_active_persistent) */ /* : if exit_conditions_front */ if (rtDW.Dew_point < g_assAC_WINTER_TXV_DEWPOINT[1]) { /* : is_active_persistent = false; */ rtDW.is_active_persistent_n = false; /* : FRONT_eTXV_ON_persistent = false; */ rtDW.FRONT_eTXV_ON_persistent = false; /* : is_active = false; */ WinterCondition_is_active_F = false; /* : FRONT_eTXV_ON = false; */ WinterCondition_eTXV_ON_Front = false; } else { /* : if entry_conditions_front || is_active_persistent */ if (((rtDW.AMB > g_assAC_CUT_OFF_AMB_F[0]) && (rtDW.AMB <= g_assAC_LOW_AMB_F[0]) && (rtDW.Full_Rec == 0) && (rtDW.Dew_point >= g_assAC_WINTER_TXV_DEWPOINT[0]) && rtb_LogicalOperator) || rtDW.is_active_persistent_n) { /* : if (F_Evap_Fb - F_Evap_Dtg) > TURN_ON_THRESHOLD */ rtb_Gain2 = rtDW.Eva_F - rtb_g_assEVA_TG_AMB_F_m; index_start_0 = rtb_Gain2; if (rtb_Gain2 > 32767) { index_start_0 = 32767; } else if (rtb_Gain2 < -32768) { index_start_0 = -32768; } if (index_start_0 > 10) { /* : is_active_persistent = true; */ rtDW.is_active_persistent_n = true; /* : FRONT_eTXV_ON_persistent = true; */ rtDW.FRONT_eTXV_ON_persistent = true; /* : fprintf("FRONT: TURN 1 ---> delta_on = %d F_Evap_Fb = %d F_Evap_Dtg = %d \n", F_Evap_Fb - F_Evap_Dtg, F_Evap_Fb, F_Evap_Dtg); */ if (rtb_Gain2 > 32767) { rtb_Gain2 = 32767; } else if (rtb_Gain2 < -32768) { rtb_Gain2 = -32768; } printf("FRONT: TURN 1 ---> delta_on = %d F_Evap_Fb = %d F_Evap_Dtg = %d \n", (int16_t)rtb_Gain2, rtDW.Eva_F, rtb_g_assEVA_TG_AMB_F_m); fflush(stdout); } else { index_start_0 = rtb_g_assEVA_TG_AMB_F_m - rtDW.Eva_F; rtb_Gain1_f = index_start_0; if (index_start_0 > 32767) { rtb_Gain1_f = 32767; } else if (index_start_0 < -32768) { rtb_Gain1_f = -32768; } if (rtb_Gain1_f > g_ssAC_WINTER_TXV_HYST) { /* : elseif (F_Evap_Dtg - F_Evap_Fb) > TURN_OFF_THRESHOLD */ /* : is_active_persistent = true; */ rtDW.is_active_persistent_n = true; /* : FRONT_eTXV_ON_persistent = false; */ rtDW.FRONT_eTXV_ON_persistent = false; /* : fprintf("FRONT: TURN 0 ---> delta_off = %d F_Evap_Fb = %d F_Evap_Dtg = %d \n", F_Evap_Dtg - F_Evap_Fb, F_Evap_Fb, F_Evap_Dtg); */ if (index_start_0 > 32767) { index_start_0 = 32767; } else if (index_start_0 < -32768) { index_start_0 = -32768; } printf("FRONT: TURN 0 ---> delta_off = %d F_Evap_Fb = %d F_Evap_Dtg = %d \n", (int16_t)index_start_0, rtDW.Eva_F, rtb_g_assEVA_TG_AMB_F_m); fflush(stdout); } else { /* : else */ /* : fprintf("FRONT: HYSTEREZIS TURN = %d ---> delta_on = %d delta_off = %d F_Evap_Fb = %d F_Evap_Dtg = %d\n", int16(FRONT_eTXV_ON_persistent), F_Evap_Fb - F_Evap_Dtg, F_Evap_Dtg - F_Evap_Fb, F_Evap_Fb, F_Evap_Dtg); */ if (rtb_Gain2 > 32767) { rtb_Gain2 = 32767; } else if (rtb_Gain2 < -32768) { rtb_Gain2 = -32768; } if (index_start_0 > 32767) { index_start_0 = 32767; } else if (index_start_0 < -32768) { index_start_0 = -32768; } printf("FRONT: HYSTEREZIS TURN = %d ---> delta_on = %d delta_off = %d F_Evap_Fb = %d F_Evap_Dtg = %d\n", (int16_t)rtDW.FRONT_eTXV_ON_persistent, (int16_t)rtb_Gain2, (int16_t)index_start_0, rtDW.Eva_F, rtb_g_assEVA_TG_AMB_F_m); fflush(stdout); } } } /* : is_active = is_active_persistent; */ WinterCondition_is_active_F = rtDW.is_active_persistent_n; /* : FRONT_eTXV_ON = FRONT_eTXV_ON_persistent; */ WinterCondition_eTXV_ON_Front = rtDW.FRONT_eTXV_ON_persistent; } /* End of MATLAB Function: '/MATLAB Function' */ /* Lookup_n-D: '/g_assEVA_TG_AMB_R' incorporates: * DataStoreRead: '/Data Store Read8' * Lookup_n-D: '/g_assEVA_TG_AMB_R' * Switch: '/Switch' * Switch: '/Switch3' */ Eva_R_tg = look1_is16lu64n32Ds32_binlcs(rtDW.AMB, &g_assFAILURE_AMB_TEMP[0], &g_assEVA_TG_AMB_R[0], 12U); /* MATLAB Function: '/MATLAB Function1' incorporates: * Constant: '/Constant3' * Constant: '/auto1' * DataStoreRead: '/Data Store Read5' * DataStoreWrite: '/Data Store Write1' * DataStoreWrite: '/Data Store Write3' * Logic: '/AND1' * Logic: '/Logical Operator' * Lookup_n-D: '/g_assEVA_TG_AMB_R' * MATLAB Function: '/MATLAB Function4' */ /* : if isempty(is_active_persistent) */ /* : if exit_conditions_rear */ if ((!rtDW.amb_condition_latched) || (!rtb_LogicalOperator_fc)) { /* : is_active_persistent = false; */ rtDW.is_active_persistent_c = false; /* : REAR_eTXV_ON_persistent = false; */ rtDW.REAR_eTXV_ON_persistent = false; /* : is_active = false; */ WinterCondition_is_active_R = false; /* : REAR_eTXV_ON = false; */ WinterCondition_eTXV_ON_Rear = false; } else { /* : if entry_conditions_rear || is_active_persistent */ /* : if (R_Evap_Fb - R_Evap_Dtg) > TURN_ON_THRESHOLD */ rtb_Gain2 = rtDW.Eva_R - Eva_R_tg; if (rtb_Gain2 > 32767) { rtb_Gain2 = 32767; } else if (rtb_Gain2 < -32768) { rtb_Gain2 = -32768; } if (rtb_Gain2 > 10) { /* : is_active_persistent = true; */ rtDW.is_active_persistent_c = true; /* : REAR_eTXV_ON_persistent = true; */ rtDW.REAR_eTXV_ON_persistent = true; } else { rtb_Gain2 = Eva_R_tg - rtDW.Eva_R; if (rtb_Gain2 > 32767) { rtb_Gain2 = 32767; } else if (rtb_Gain2 < -32768) { rtb_Gain2 = -32768; } if (rtb_Gain2 > g_ssAC_WINTER_TXV_HYST) { /* : elseif (R_Evap_Dtg - R_Evap_Fb) > TURN_OFF_THRESHOLD */ /* : is_active_persistent = true; */ rtDW.is_active_persistent_c = true; /* : REAR_eTXV_ON_persistent = false; */ rtDW.REAR_eTXV_ON_persistent = false; } else { /* : else */ } } /* : is_active = is_active_persistent; */ WinterCondition_is_active_R = rtDW.is_active_persistent_c; /* : REAR_eTXV_ON = REAR_eTXV_ON_persistent; */ WinterCondition_eTXV_ON_Rear = rtDW.REAR_eTXV_ON_persistent; } /* End of MATLAB Function: '/MATLAB Function1' */ /* End of Outputs for SubSystem: '/WINTER CONDITION' */ /* Switch: '/Switch' incorporates: * DataStoreWrite: '/Data Store Write' */ if (WinterCondition_is_active_F) { /* Switch: '/Switch' incorporates: * DataStoreWrite: '/Data Store Write2' */ rtb_LogicalOperator = WinterCondition_eTXV_ON_Front; } /* End of Switch: '/Switch' */ /* Switch: '/Switch1' incorporates: * DataStoreRead: '/Data Store Read51' * DataStoreWrite: '/Data Store Write1' * DataStoreWrite: '/Data Store Write3' */ if (WinterCondition_is_active_R) { rtb_DataTypeConversion3_gz = WinterCondition_eTXV_ON_Rear; } else { rtb_DataTypeConversion3_gz = rtDW.CCU_AC_REAR; } /* End of Switch: '/Switch1' */ /* Switch: '/Switch2' incorporates: * Constant: '/Constant12' * DataStoreRead: '/Data Store Read45' * DataStoreRead: '/Data Store Read76' * DataStoreWrite: '/Data Store Write35' * Lookup_n-D: '/g_assEVA_TG_AMB_F' */ if (rtDW.CCU_AC_MAX > 0) { Eva_F_tg = 20; } else { Eva_F_tg = look1_is16lu64n32Ds32_binlcs(rtDW.AMB, &g_assFAILURE_AMB_TEMP[0], &g_assEVA_TG_AMB_F[0], 12U); } /* End of Switch: '/Switch2' */ /* Switch: '/Switch' incorporates: * DataStoreRead: '/Data Store Read76' * DataStoreWrite: '/Data Store Write36' * DataTypeConversion: '/Data Type Conversion' * Switch: '/Switch3' */ if (rtDW.is_active_persistent_m) { /* Outputs for Atomic SubSystem: '/WINTER CONDITION' */ Eva_R_tg = (int16_t)floor(rtDW.R_Evap_tg_persistent); /* End of Outputs for SubSystem: '/WINTER CONDITION' */ } else if (rtDW.CCU_AC_MAX > 0) { /* Switch: '/Switch3' incorporates: * Constant: '/Constant12' * DataStoreWrite: '/Data Store Write36' */ Eva_R_tg = 20; } /* Chart: '/A//C Control' incorporates: * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read37' * DataStoreRead: '/Data Store Read45' * DataStoreRead: '/Data Store Read50' * DataStoreRead: '/Data Store Read52' * DataStoreRead: '/Data Store Read53' * DataStoreRead: '/Data Store Read58' * DataStoreRead: '/Data Store Read59' * DataStoreRead: '/Data Store Read74' * DataStoreRead: '/Data Store Read79' * DataStoreRead: '/Data Store Read80' * DataTypeConversion: '/Data Type Conversion3' * Gain: '/Gain' * Gain: '/Gain2' * Gain: '/Gain3' * Lookup_n-D: '/1-D Lookup Table' * Lookup_n-D: '/1-D Lookup Table1' */ if (rtDW.is_active_c621_HVAC_model == 0U) { rtDW.is_active_c621_HVAC_model = 1U; rtDW.is_PRESSURE_MONITOR = IN_PRESSURE_OK; /* : Pressure_Condition_table_OK = true; */ rtDW.Pressure_Condition_table_OK = true; /* : Pressure_Hi_Fault = false; */ rtDW.Pressure_Hi_Fault = false; rtDW.is_FRONT_CONTOUR = IN_Front_A_C_OFF; /* : FRONT_Start_request = false; */ rtDW.FRONT_Start_request = false; rtDW.is_REAR_CONTOUR = IN_Rear_A_C_OFF; /* : REAR_Start_request = false; */ rtDW.REAR_Start_request = false; rtDW.is_CHILLER_CONTOUR = IN_Chiller_OFF; /* : Chiller_Start_request = false; */ rtDW.Chiller_Start_request = false; rtDW.is_E_COMP_MANAGER = IN_COMP_OFF; /* : Enable_Comp_PID = false; */ Enable_Comp_PID = false; /* : Chiller_Only_Flag = 0; */ rtB.Chiller_Only_Flag = 0.0; /* : Comp_Feedback_Temp = 0; */ rtB.Comp_Feedback_Temp = 0; /* : FRONT_eTXV = true; */ rtB.FRONT_eTXV = true; /* : REAR_eTXV = true; */ rtB.REAR_eTXV = true; /* : Chiller_eTXV = true; */ rtB.Chiller_eTXV = true; /* : Eva_Ctrl = 0; */ rtB.Eva_Ctrl = 0U; rtDW.is_COMP_PROTECTION = IN_PROT_LEVEL_0; /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write' */ /* : Logic_Ac_Comp_Protection_Level = 0; */ rtDW.dbg_Logic_Ac_model.Logic_Ac_Comp_Protection_Level = 0U; /* : Comp_Max_RPM_Allowed = 170; */ Comp_Max_RPM_Allowed = 170U; /* : Evap_Target_Offset = 0; */ rtb_g_assEVA_TG_AMB_F_m = 0; } else { switch (rtDW.is_PRESSURE_MONITOR) { case IN_FAULT_HIGH_PRESS: /* Switch: '/Switch' incorporates: * Constant: '/Constant3' * Constant: '/Constant4' * DataStoreRead: '/Data Store Read45' */ /* : sf_internal_predicateOutput = Pressure_sen < P_Hi_CutOff; */ if (rtDW.AMB > 400) { rtb_Switch2_nb = g_assAC_PRESSURE_HYS_HI_ENG_ON[0]; } else { rtb_Switch2_nb = g_assAC_PRESSURE_HYS_HI_ENG_ON[2]; } /* Gain: '/Gain2' incorporates: * Switch: '/Switch' */ rtb_Gain2 = 15857 * rtb_Switch2_nb; if (rtDW.Pressure < ((((uint32_t)rtb_Gain2 & 8192U) != 0U) && ((((uint32_t) rtb_Gain2 & 8191U) != 0U) || (rtb_Gain2 > 0))) + (rtb_Gain2 >> 14)) { rtDW.is_PRESSURE_MONITOR = IN_PRESSURE_OK; /* : Pressure_Condition_table_OK = true; */ rtDW.Pressure_Condition_table_OK = true; /* : Pressure_Hi_Fault = false; */ rtDW.Pressure_Hi_Fault = false; } break; case IN_FAULT_LOW_PRESS: /* : sf_internal_predicateOutput = Pressure_sen > P_threshold_UP; */ if (rtDW.Pressure > look1_is16lu64n32Ds32_binlcs(rtDW.AMB, &g_assFAILURE_AMB_TEMP[0], &g_assAC_PRESSURE_LOW_HYS_UP[0], 12U)) { rtDW.is_PRESSURE_MONITOR = IN_PRESSURE_OK; /* : Pressure_Condition_table_OK = true; */ rtDW.Pressure_Condition_table_OK = true; /* : Pressure_Hi_Fault = false; */ rtDW.Pressure_Hi_Fault = false; } break; default: /* case IN_PRESSURE_OK: */ /* : sf_internal_predicateOutput = Pressure_sen < P_threshold_DN; */ if (rtDW.Pressure < look1_is16lu64n32Ds32_binlcs(rtDW.AMB, &g_assFAILURE_AMB_TEMP[0], &g_assAC_PRESSURE_LOW_HYS_DN[0], 12U)) { rtDW.is_PRESSURE_MONITOR = IN_FAULT_LOW_PRESS; /* : Pressure_Condition_table_OK = false; */ rtDW.Pressure_Condition_table_OK = false; } else { /* Gain: '/Gain3' incorporates: * Constant: '/Constant5' */ /* : sf_internal_predicateOutput = Pressure_sen > P_Hi_Return; */ rtb_Gain2 = 15857 * g_assAC_PRESSURE_HYS_HI_ENG_ON[1]; if (rtDW.Pressure > ((((uint32_t)rtb_Gain2 & 8192U) != 0U) && ((((uint32_t)rtb_Gain2 & 8191U) != 0U) || (rtb_Gain2 > 0))) + (rtb_Gain2 >> 14)) { rtDW.is_PRESSURE_MONITOR = IN_FAULT_HIGH_PRESS; /* : Pressure_Hi_Fault = true; */ rtDW.Pressure_Hi_Fault = true; } } break; } if (rtDW.is_FRONT_CONTOUR == IN_Front_A_C_OFF) { /* : sf_internal_predicateOutput = AC_Req_MMS == 1 && pwm_front>= (g_ausMIN_PWM(1)-1) && Error_PressSen == 0 && Error_Eva_F == 0 && Eva_F > 0 && amb_temp>g_assAC_CUT_OFF_AMB_F(2) && Pressure_Condition_table_OK == 1; */ rtb_Subtract = g_ausMIN_PWM[0] - 1U; if (g_ausMIN_PWM[0] - 1U > g_ausMIN_PWM[0]) { rtb_Subtract = 0U; } if (rtb_LogicalOperator && ((rtb_Saturation_as >= (int32_t)rtb_Subtract) && ((rtDW.CCU_PressSenErr_Stat == 0) && (rtDW.CCU_EvaTempSenErrF_Stat == 0) && (rtDW.Eva_F > 0) && ((rtDW.AMB > g_assAC_CUT_OFF_AMB_F[1]) && rtDW.Pressure_Condition_table_OK)))) { rtDW.is_FRONT_CONTOUR = IN_Front_A_C_ON; /* : FRONT_Start_request = true; */ rtDW.FRONT_Start_request = true; } } else { /* case IN_Front_A_C_ON: */ /* : sf_internal_predicateOutput = AC_Req_MMS == 0 || pwm_front < (g_ausMIN_PWM(1)-1) || Error_PressSen == 1 || Error_Eva_F == 1 || Eva_F <= 0 || amb_temp<=g_assAC_CUT_OFF_AMB_F(1) || Pressure_Condition_table_OK == 0; */ rtb_Subtract = g_ausMIN_PWM[0] - 1U; if (g_ausMIN_PWM[0] - 1U > g_ausMIN_PWM[0]) { rtb_Subtract = 0U; } if ((!rtb_LogicalOperator) || ((rtb_Saturation_as < (int32_t)rtb_Subtract) || ((rtDW.CCU_PressSenErr_Stat == 1) || (rtDW.CCU_EvaTempSenErrF_Stat == 1) || (rtDW.Eva_F <= 0) || ((rtDW.AMB <= g_assAC_CUT_OFF_AMB_F[0]) || ((rtDW.AMB > g_assAC_CUT_OFF_AMB_F[0]) && (!rtDW.Pressure_Condition_table_OK)))))) { rtDW.is_FRONT_CONTOUR = IN_Front_A_C_OFF; /* : FRONT_Start_request = false; */ rtDW.FRONT_Start_request = false; } } if (rtDW.is_REAR_CONTOUR == IN_Rear_A_C_OFF) { /* : sf_internal_predicateOutput = AC_Req_MMS_Rear == 1 && pwm_rear >= (g_ausMIN_PWM(2)-1) && Error_PressSen == 0 && Error_Eva_R == 0 && Eva_R > 0 && amb_temp>g_assAC_CUT_OFF_AMB_R(2) && Pressure_Condition_table_OK == 1; */ rtb_Subtract = g_ausMIN_PWM[1] - 1U; if (g_ausMIN_PWM[1] - 1U > g_ausMIN_PWM[1]) { rtb_Subtract = 0U; } if ((rtb_DataTypeConversion3_gz != 0) && ((Gain1 >= (int32_t)rtb_Subtract) && ((rtDW.CCU_PressSenErr_Stat == 0) && (rtDW.CCU_EvaTempSenErrR_Stat == 0) && (rtDW.Eva_R > 0) && ((rtDW.AMB > g_assAC_CUT_OFF_AMB_R[1]) && rtDW.Pressure_Condition_table_OK)))) { rtDW.is_REAR_CONTOUR = IN_Rear_A_C_ON; /* : REAR_Start_request = true; */ rtDW.REAR_Start_request = true; } } else { /* case IN_Rear_A_C_ON: */ /* : sf_internal_predicateOutput = [AC_Req_MMS_Rear == 0 || pwm_rear < (g_ausMIN_PWM(2)-1) || Error_PressSen == 1 || Error_Eva_R == 1 || Eva_R <= 0 || amb_temp<=g_assAC_CUT_OFF_AMB_R(1) || Pressure_Condition_table_OK == 0]; */ rtb_Subtract = g_ausMIN_PWM[1] - 1U; if (g_ausMIN_PWM[1] - 1U > g_ausMIN_PWM[1]) { rtb_Subtract = 0U; } if ((rtb_DataTypeConversion3_gz == 0) || ((Gain1 < (int32_t)rtb_Subtract) || ((rtDW.CCU_PressSenErr_Stat == 1) || (rtDW.CCU_EvaTempSenErrR_Stat == 1) || (rtDW.Eva_R <= 0) || ((rtDW.AMB <= g_assAC_CUT_OFF_AMB_R[0]) || ((rtDW.AMB > g_assAC_CUT_OFF_AMB_R[0]) && (!rtDW.Pressure_Condition_table_OK)))))) { rtDW.is_REAR_CONTOUR = IN_Rear_A_C_OFF; /* : REAR_Start_request = false; */ rtDW.REAR_Start_request = false; } } if (rtDW.is_CHILLER_CONTOUR == IN_Chiller_OFF) { /* : sf_internal_predicateOutput = eCompChiller_Req==1 && Pressure_Condition_table_OK == 1 && Error_PressSen == 0 && BCM_T15_Stat==1; */ if ((rtDW.eCompChiller_Req == 1) && rtDW.Pressure_Condition_table_OK && (rtDW.CCU_PressSenErr_Stat == 0) && (rtDW.BCM_T15_Stat == 1)) { rtDW.is_CHILLER_CONTOUR = IN_Chiller_ON; /* : Chiller_Start_request = true; */ rtDW.Chiller_Start_request = true; } /* case IN_Chiller_ON: */ /* : sf_internal_predicateOutput = eCompChiller_Req==0 || Pressure_Condition_table_OK == 0 || Error_PressSen == 1; */ } else if ((rtDW.eCompChiller_Req == 0) || (!rtDW.Pressure_Condition_table_OK) || (rtDW.CCU_PressSenErr_Stat == 1)) { rtDW.is_CHILLER_CONTOUR = IN_Chiller_OFF; /* : Chiller_Start_request = false; */ rtDW.Chiller_Start_request = false; } E_COMP_MANAGER(&Enable_Comp_PID, &Eva_F_tg, &Eva_R_tg); switch (rtDW.is_COMP_PROTECTION) { case IN_PROT_LEVEL_0: /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write' */ rtDW.dbg_Logic_Ac_model.Logic_Ac_Comp_Protection_Level = 0U; Comp_Max_RPM_Allowed = 170U; rtb_g_assEVA_TG_AMB_F_m = 0; /* : sf_internal_predicateOutput = HVC_CompInputC_Val >= 160 || HVC_CompInvTemp_Val >= 1100; */ if ((rtDW.eComp_InputC >= 40960) || (rtDW.eComp_Temp >= 1100)) { rtDW.is_COMP_PROTECTION = IN_PROT_LEVEL_1; /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write' */ /* : Logic_Ac_Comp_Protection_Level = 1; */ rtDW.dbg_Logic_Ac_model.Logic_Ac_Comp_Protection_Level = 1U; /* : Comp_Max_RPM_Allowed = 140; */ Comp_Max_RPM_Allowed = 140U; /* : Evap_Target_Offset = 10; */ rtb_g_assEVA_TG_AMB_F_m = 10; } break; case IN_PROT_LEVEL_1: /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write' */ rtDW.dbg_Logic_Ac_model.Logic_Ac_Comp_Protection_Level = 1U; Comp_Max_RPM_Allowed = 140U; rtb_g_assEVA_TG_AMB_F_m = 10; /* : sf_internal_predicateOutput = HVC_CompInputC_Val < 155 && HVC_CompInvTemp_Val < 1090; */ if ((rtDW.eComp_InputC < 39680) && (rtDW.eComp_Temp < 1090)) { rtDW.is_COMP_PROTECTION = IN_PROT_LEVEL_0; /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write' */ /* : Logic_Ac_Comp_Protection_Level = 0; */ rtDW.dbg_Logic_Ac_model.Logic_Ac_Comp_Protection_Level = 0U; /* : Comp_Max_RPM_Allowed = 170; */ Comp_Max_RPM_Allowed = 170U; /* : Evap_Target_Offset = 0; */ rtb_g_assEVA_TG_AMB_F_m = 0; /* : sf_internal_predicateOutput = HVC_CompInputC_Val >= 180 || HVC_CompInvTemp_Val >= 1200; */ } else if ((rtDW.eComp_InputC >= 46080) || (rtDW.eComp_Temp >= 1200)) { rtDW.is_COMP_PROTECTION = IN_PROT_LEVEL_2; /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write' */ /* : Logic_Ac_Comp_Protection_Level = 2; */ rtDW.dbg_Logic_Ac_model.Logic_Ac_Comp_Protection_Level = 2U; /* : Comp_Max_RPM_Allowed = 120; */ Comp_Max_RPM_Allowed = 120U; /* : Evap_Target_Offset = 20; */ rtb_g_assEVA_TG_AMB_F_m = 20; } break; default: /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write' */ /* case IN_PROT_LEVEL_2: */ rtDW.dbg_Logic_Ac_model.Logic_Ac_Comp_Protection_Level = 2U; Comp_Max_RPM_Allowed = 120U; rtb_g_assEVA_TG_AMB_F_m = 20; /* : sf_internal_predicateOutput = HVC_CompInputC_Val < 175 && HVC_CompInvTemp_Val < 1190; */ if ((rtDW.eComp_InputC < 44800) && (rtDW.eComp_Temp < 1190)) { rtDW.is_COMP_PROTECTION = IN_PROT_LEVEL_1; /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write' */ /* : Logic_Ac_Comp_Protection_Level = 1; */ rtDW.dbg_Logic_Ac_model.Logic_Ac_Comp_Protection_Level = 1U; /* : Comp_Max_RPM_Allowed = 140; */ Comp_Max_RPM_Allowed = 140U; /* : Evap_Target_Offset = 10; */ rtb_g_assEVA_TG_AMB_F_m = 10; } break; } } /* End of Chart: '/A//C Control' */ /* DataTypeConversion: '/Data Type Conversion6' incorporates: * DataStoreWrite: '/Data Store Write11' */ EN_BATTChiller = rtB.Chiller_eTXV; /* MATLAB Function: '/MATLAB Function1' incorporates: * DataStoreRead: '/Data Store Read' * MATLAB Function: '/external fan' */ /* : if isempty(t_start) */ if (!rtDW.t_start_not_empty) { /* : t_start = t_now; */ rtDW.t_start = rtDW.t_now; rtDW.t_start_not_empty = true; /* : is_running = uint8(0); */ } /* : if Enable_Comp_PID == 0 */ rtb_Compare_ht = !Enable_Comp_PID; if (rtb_Compare_ht) { /* : t_start = t_now; */ rtDW.t_start = rtDW.t_now; /* : is_running = uint8(0); */ rtDW.is_running = 0U; /* : timer_out = uint8(0); */ rtb_timer_out = 0U; } else { /* : else */ /* : if is_running == 0 */ if (rtDW.is_running == 0) { /* : t_start = t_now; */ rtDW.t_start = rtDW.t_now; /* : is_running = uint8(1); */ rtDW.is_running = 1U; } /* : if (t_now - t_start) >= 60000.0 */ rtb_Subtract = rtDW.t_now - /*MW:OvSatOk*/ rtDW.t_start; if (rtb_Subtract > rtDW.t_now) { rtb_Subtract = 0U; } if (rtb_Subtract >= 60000U) { /* : timer_out = uint8(1); */ rtb_timer_out = 1U; } else { /* : else */ /* : timer_out = uint8(0); */ rtb_timer_out = 0U; } } /* End of MATLAB Function: '/MATLAB Function1' */ /* Switch: '/Switch2' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read32' * Gain: '/Gain2' * RelationalOperator: '/Compare' */ if (rtDW.Engine_speed > 500.0) { /* Switch: '/Switch' incorporates: * Constant: '/Constant1' */ if (rtb_timer_out <= 0) { Comp_Max_RPM_Allowed = 120U; } /* End of Switch: '/Switch' */ } else { /* Gain: '/Gain2' incorporates: * Constant: '/Constant4' */ rtb_Subtract = 41943U * g_usCMP_MAX_ENG_OFF; Comp_Max_RPM_Allowed = (uint8_t)((uint32_t)((rtb_Subtract & 1048576U) != 0U) + (rtb_Subtract >> 21)); } /* End of Switch: '/Switch2' */ /* Sum: '/Sum' incorporates: * DataStoreWrite: '/Data Store Write14' */ Eva_Target = (int16_t)(rtB.Comp_Target_Temp + rtb_g_assEVA_TG_AMB_F_m); /* Sum: '/Sum' incorporates: * DataStoreWrite: '/Data Store Write14' */ rtb_MultiportSwitch_cn = (int16_t)(rtB.Comp_Feedback_Temp - Eva_Target); /* DeadZone: '/Dead Zone' */ if (rtb_MultiportSwitch_cn > g_assPID_COMPRESSOR[4]) { rtb_Gain2 = rtb_MultiportSwitch_cn - g_assPID_COMPRESSOR[4]; if (rtb_Gain2 > 32767) { rtb_Gain2 = 32767; } else if (rtb_Gain2 < -32768) { rtb_Gain2 = -32768; } rtb_g_assEVA_TG_AMB_F_m = (int16_t)rtb_Gain2; } else if (rtb_MultiportSwitch_cn >= (int16_t)-g_assPID_COMPRESSOR[4]) { rtb_g_assEVA_TG_AMB_F_m = 0; } else { rtb_Gain2 = rtb_MultiportSwitch_cn - (int16_t)-g_assPID_COMPRESSOR[4]; if (rtb_Gain2 > 32767) { rtb_Gain2 = 32767; } else if (rtb_Gain2 < -32768) { rtb_Gain2 = -32768; } rtb_g_assEVA_TG_AMB_F_m = (int16_t)rtb_Gain2; } /* End of DeadZone: '/Dead Zone' */ /* Gain: '/Gain1' */ rtb_Gain1_f = (int32_t)(10000U * Comp_Max_RPM_Allowed); /* Sum: '/Sum' incorporates: * Constant: '/Constant7' * Memory: '/Memory1' * Product: '/Divide4' */ tmp_2 = (int64_t)floor((double)g_assPID_COMPRESSOR[1] / 100.0 * (double) rtb_g_assEVA_TG_AMB_F_m) + rtDW.MemComp_I_Value; if (tmp_2 > 2147483647LL) { tmp_2 = 2147483647LL; } else if (tmp_2 < -2147483648LL) { tmp_2 = -2147483648LL; } /* Switch: '/Switch2' incorporates: * RelationalOperator: '/LowerRelop1' * Sum: '/Sum' */ if ((int32_t)tmp_2 <= rtb_Gain1_f) { /* Switch: '/Switch' incorporates: * Constant: '/Constant3' * RelationalOperator: '/UpperRelop' */ if ((int32_t)tmp_2 < 0) { rtb_Gain1_f = 0; } else { rtb_Gain1_f = (int32_t)tmp_2; } /* End of Switch: '/Switch' */ } /* End of Switch: '/Switch2' */ /* Switch: '/Switch' incorporates: * Constant: '/Constant12' */ if (Enable_Comp_PID) { /* Sum: '/Sum2' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * Constant: '/Constant2' * Constant: '/Constant6' * Constant: '/Constant8' * Memory: '/pError' * Product: '/Divide1' * Product: '/Divide2' * Product: '/Divide3' * Product: '/Divide5' * Product: '/Divide6' * Sum: '/Sum1' * * Block description for '/Divide1': * Round * * Block description for '/Divide3': * Round * * Block description for '/Divide6': * Round */ rtb_Gain2 = ((int16_t)div_nzp_s32_round((int16_t)(rtb_g_assEVA_TG_AMB_F_m * g_assPID_COMPRESSOR[0]), 10) + (int16_t)div_nzp_s32_round(rtb_Gain1_f, 10000)) + (int16_t)div_nzp_s32_round((int16_t)(rtb_g_assEVA_TG_AMB_F_m - rtDW.pError_PreviousInput) * g_assPID_COMPRESSOR[2], 100); if (rtb_Gain2 < 0) { rtb_Gain2 = 0; } else if (rtb_Gain2 > 255) { rtb_Gain2 = 255; } /* Switch: '/Switch2' incorporates: * RelationalOperator: '/LowerRelop1' * RelationalOperator: '/UpperRelop' * Sum: '/Sum2' * Switch: '/Switch' */ if (rtb_Gain2 > Comp_Max_RPM_Allowed) { rtb_DataTypeConversion3_gz = Comp_Max_RPM_Allowed; } else if (rtb_Gain2 < 16) { /* Switch: '/Switch' */ rtb_DataTypeConversion3_gz = 16U; } else { rtb_DataTypeConversion3_gz = (uint8_t)rtb_Gain2; } /* End of Switch: '/Switch2' */ } else { rtb_DataTypeConversion3_gz = 0U; } /* End of Switch: '/Switch' */ /* RateLimiter: '/Rate Limiter' incorporates: * DataTypeConversion: '/Data Type Conversion1' */ index_start = (double)rtb_DataTypeConversion3_gz - rtDW.PrevY; if (index_start > 5.0) { rtb_I_od = rtDW.PrevY + 5.0; } else if (index_start < -5.0) { rtb_I_od = rtDW.PrevY - 5.0; } else { rtb_I_od = rtb_DataTypeConversion3_gz; } rtDW.PrevY = rtb_I_od; /* End of RateLimiter: '/Rate Limiter' */ /* Switch: '/Switch1' incorporates: * Constant: '/Constant' */ if (rtB.Chiller_Only_Flag > 0.0) { rtb_I_od = g_ucAC_EXTRA_RPM; } /* End of Switch: '/Switch1' */ /* Gain: '/Gain1' incorporates: * Constant: '/Constant2' */ for (i = 0; i < 6; i++) { rtb_Gain1_o3[i] = (uint16_t)((41943U * g_ausCMP_RPM_RESONANCE[i]) >> 21); } /* End of Gain: '/Gain1' */ /* MATLAB Function: '/MATLAB Function' */ /* : rpm_phys = double(rpm_in); */ /* : low1 = double(res_cal(1)); */ /* : high1 = double(res_cal(2)); */ /* : low2 = double(res_cal(3)); */ /* : high2 = double(res_cal(4)); */ /* : low3 = double(res_cal(5)); */ /* : high3 = double(res_cal(6)); */ /* : if (rpm_phys >= low1) && (rpm_phys <= high1) */ if ((rtb_I_od >= rtb_Gain1_o3[0]) && (rtb_I_od <= rtb_Gain1_o3[1])) { /* : if (rpm_phys - low1) < (high1 - rpm_phys) */ if (rtb_I_od - (double)rtb_Gain1_o3[0] < (double)rtb_Gain1_o3[1] - rtb_I_od) { /* : rpm_phys = low1; */ rtb_I_od = rtb_Gain1_o3[0]; } else { /* : else */ /* : rpm_phys = high1; */ rtb_I_od = rtb_Gain1_o3[1]; } } /* : if (rpm_phys >= low2) && (rpm_phys <= high2) */ if ((rtb_I_od >= rtb_Gain1_o3[2]) && (rtb_I_od <= rtb_Gain1_o3[3])) { /* : if (rpm_phys - low2) < (high2 - rpm_phys) */ if (rtb_I_od - (double)rtb_Gain1_o3[2] < (double)rtb_Gain1_o3[3] - rtb_I_od) { /* : rpm_phys = low2; */ rtb_I_od = rtb_Gain1_o3[2]; } else { /* : else */ /* : rpm_phys = high2; */ rtb_I_od = rtb_Gain1_o3[3]; } } /* : if (rpm_phys >= low3) && (rpm_phys <= high3) */ if ((rtb_I_od >= rtb_Gain1_o3[4]) && (rtb_I_od <= rtb_Gain1_o3[5])) { /* : if (rpm_phys - low3) < (high3 - rpm_phys) */ if (rtb_I_od - (double)rtb_Gain1_o3[4] < (double)rtb_Gain1_o3[5] - rtb_I_od) { /* : rpm_phys = low3; */ rtb_I_od = rtb_Gain1_o3[4]; } else { /* : else */ /* : rpm_phys = high3; */ rtb_I_od = rtb_Gain1_o3[5]; } } /* : rpm_can = uint8(rpm_phys); */ rtb_I_od = rt_roundd(rtb_I_od); if (rtb_I_od < 256.0) { if (rtb_I_od >= 0.0) { El_window_heating = (uint8_t)rtb_I_od; } else { El_window_heating = 0U; } } else { El_window_heating = UINT8_MAX; } /* MATLAB Function: '/external fan' incorporates: * Constant: '/Constant1' * Constant: '/Constant6' * Constant: '/Constant' * DataStoreRead: '/Data Store Read31' * DataStoreRead: '/Data Store Read32' * DataStoreRead: '/Data Store Read81' * DataStoreWrite: '/Data Store Write25' * Lookup_n-D: '/Fan_Speed_By_Pressure' * RelationalOperator: '/Compare' */ /* : fan_speed_out = uint8(0); */ Mode_FR = 0U; /* : comp_emergency_stop = false; */ eComp_stop = false; /* : if (comp_state ~= 1) */ if (!rtb_Compare_ht) { /* : if pressure_failed */ if (rtDW.CCU_PressSenErr_Stat != 0) { /* : fan_speed_out = uint8(100); */ Mode_FR = 100U; /* : comp_emergency_stop = true; */ eComp_stop = true; /* : if pressure_val <= g_assPRESSURE_TO_FAN_X */ } else if (rtDW.Pressure > g_assPRESSURE_TO_FAN_X[0]) { /* : fan_speed_out = uint8(fan_speed_table); */ rtb_Switch2_nb = look1_is16lu64n32tu8Ds16Is16_binlcs(rtDW.Pressure, &g_assPRESSURE_TO_FAN_X[0], &g_aucPRESSURE_TO_FAN_Y[0], 6U); if (rtb_Switch2_nb < 0) { rtb_Switch2_nb = 0; } else if (rtb_Switch2_nb > 255) { rtb_Switch2_nb = 255; } Mode_FR = (uint8_t)rtb_Switch2_nb; /* : if engine_on == false */ if ((rtDW.Engine_speed <= 500.0) && (rtb_Switch2_nb > g_ucFAN_MAX_ENG_OFF)) { /* : if(fan_speed_out>g_ucFAN_MAX_ENG_OFF) */ /* : fan_speed_out = uint8(g_ucFAN_MAX_ENG_OFF); */ Mode_FR = g_ucFAN_MAX_ENG_OFF; } } else { /* : fan_speed_out = uint8(0); */ } } /* DataTypeConversion: '/Data Type Conversion1' incorporates: * DataStoreWrite: '/Data Store Write8' */ ShutOffFront_EN = rtB.FRONT_eTXV; /* DataTypeConversion: '/Data Type Conversion4' incorporates: * DataStoreWrite: '/Data Store Write9' */ ShutOffRear_EN = rtB.REAR_eTXV; /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read12' */ rtb_LogicalOperator = (rtDW.CAN_LoHi_Front == 11); /* Chart: '/13,1,3,15 Valve control' incorporates: * DataStoreRead: '/Data Store Read15' * DataStoreRead: '/Data Store Read34' * DataStoreRead: '/Data Store Read36' */ if (rtDW.is_active_c775_HVAC_model == 0U) { rtDW.is_active_c775_HVAC_model = 1U; rtDW.is_ThreeWay_Logic = IN_Wait_3W; /* : Cmd_3Way = 2; */ rtb_Cmd_3Way = 2U; /* : Cmd_FrontTemp = -1; */ /* : Cmd_RearTemp_3W = -1; */ rtDW.Cmd_RearTemp_3W = -1.0; rtDW.is_TwoWay_Logic = IN_Wait_2W; /* : Cmd_2Way = 1; */ rtB.Cmd_2Way = 1U; /* : Cmd_RearTemp_2W = -1; */ rtDW.Cmd_RearTemp_2W = -1.0; } else { if (rtDW.is_ThreeWay_Logic == IN_Entry_3W) { rtb_Cmd_3Way = 1U; /* : sf_internal_predicateOutput = D_tg_RR > g_assTHREEWAY_DUCT_TGT_R(1) && LO_MODE_FULL == false && ECT>g_ssTHREEWAY_WATER; */ if ((rtDW.Duct_RR_Tg > g_assTHREEWAY_DUCT_TGT_R[0]) && ((!rtb_LogicalOperator) && (rtDW.ECT > g_ssTHREEWAY_WATER))) { rtDW.is_ThreeWay_Logic = IN_Wait_3W; /* : Cmd_3Way = 2; */ rtb_Cmd_3Way = 2U; /* : Cmd_FrontTemp = -1; */ /* : Cmd_RearTemp_3W = -1; */ rtDW.Cmd_RearTemp_3W = -1.0; } } else { /* case IN_Wait_3W: */ rtb_Cmd_3Way = 2U; /* : sf_internal_predicateOutput = D_tg_RR <= g_assTHREEWAY_DUCT_TGT_R(2) || LO_MODE_FULL == true || ECT<=g_ssTHREEWAY_WATER; */ if ((rtDW.Duct_RR_Tg <= g_assTHREEWAY_DUCT_TGT_R[1]) || (rtb_LogicalOperator || (rtDW.ECT <= g_ssTHREEWAY_WATER))) { rtDW.is_ThreeWay_Logic = IN_Entry_3W; /* : Cmd_3Way = 1; */ rtb_Cmd_3Way = 1U; /* : t_start_1 = t_now; */ } } if (rtDW.is_TwoWay_Logic == IN_Entry_2W) { /* : sf_internal_predicateOutput = D_tg_RR > g_assTWOWAY_REAR_DUCTTGT_R(1); */ if (rtDW.Duct_RR_Tg > g_assTWOWAY_REAR_DUCTTGT_R[0]) { /* : Cmd_RearTemp_2W = -1; */ rtDW.is_TwoWay_Logic = IN_Wait_2W; /* : Cmd_2Way = 1; */ rtB.Cmd_2Way = 1U; /* : Cmd_RearTemp_2W = -1; */ rtDW.Cmd_RearTemp_2W = -1.0; } /* case IN_Wait_2W: */ /* : sf_internal_predicateOutput = D_tg_RR <= g_assTWOWAY_REAR_DUCTTGT_R(2); */ } else if (rtDW.Duct_RR_Tg <= g_assTWOWAY_REAR_DUCTTGT_R[1]) { rtDW.is_TwoWay_Logic = IN_Entry_2W; /* : Cmd_2Way = 0; */ rtB.Cmd_2Way = 0U; /* : t_start_3 = t_now; */ /* : if RL_Seat_Occupied == 0 */ if (rtDW.SeatOccupiedRL == 0) { /* : Cmd_RearTemp_2W = 10; */ rtDW.Cmd_RearTemp_2W = 10.0; } else { /* : else */ /* : Cmd_RearTemp_2W = 10; */ rtDW.Cmd_RearTemp_2W = 10.0; } } else { /* : Cmd_2Way = 1; */ rtB.Cmd_2Way = 1U; /* : Cmd_RearTemp_2W = -1; */ rtDW.Cmd_RearTemp_2W = -1.0; } /* : if Cmd_RearTemp_3W == 0 || Cmd_RearTemp_2W == 0 */ } /* End of Chart: '/13,1,3,15 Valve control' */ /* Switch: '/Switch5' incorporates: * Constant: '/Constant2' * Constant: '/Constant1' * Constant: '/Constant2' * Constant: '/Constant3' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read74' * DataStoreWrite: '/write 3 way valve' * Logic: '/AND' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator3' */ if ((rtDW.condition_ac_max == 1.0) && (rtDW.SeatOccupiedRL == 0) && (rtDW.SeatOccupiedRL == 0)) { rtb_Cmd_3Way = 1U; } /* End of Switch: '/Switch5' */ /* Saturate: '/Saturation4' incorporates: * DataStoreRead: '/Data Store Read28' */ if (rtDW.LEVEL <= 5) { rtb_timer_out = rtDW.LEVEL; } else { rtb_timer_out = 5U; } /* End of Saturate: '/Saturation4' */ /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant10' * Constant: '/Constant11' * Constant: '/Constant12' * Constant: '/Constant7' * Constant: '/Constant8' * Constant: '/Constant9' */ switch (rtb_timer_out) { case 0: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MAX_LV0[i]; } break; case 1: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MAX_LV1[i]; } break; case 2: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MAX_LV2[i]; } break; case 3: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MAX_LV3[i]; } break; case 4: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MAX_LV4[i]; } break; default: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MAX_LV5[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* Saturate: '/Saturation' incorporates: * DataStoreRead: '/Data Store Read16' */ if (rtDW.CCU_SET_FL > 290) { rtb_Saturation_as = 290U; } else if (rtDW.CCU_SET_FL < 170) { rtb_Saturation_as = 170U; } else { rtb_Saturation_as = rtDW.CCU_SET_FL; } /* End of Saturate: '/Saturation' */ /* Gain: '/Gain' incorporates: * Gain: '/Gain' * Gain: '/Gain2' */ rtb_Subtract = 52429U * rtb_Saturation_as; /* DataTypeConversion: '/Data Type Conversion1' incorporates: * DataTypeConversion: '/Data Type Conversion1' * DataTypeConversion: '/Data Type Conversion1' * DataTypeConversion: '/Data Type Conversion1' * Gain: '/Gain' * Gain: '/Gain1' * Switch: '/Switch15' * Switch: '/Switch15' */ index_start_0 = (int32_t)floor(((double)((int32_t)rtb_Subtract >> 19) - 15.0) * 0.5 + 0.5); /* Selector: '/Selector' incorporates: * DataTypeConversion: '/Data Type Conversion1' */ rtb_MultiportSwitch_cn = rtb_uDLookupTable7_g[(uint8_t)index_start_0 - 1]; /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * Constant: '/Constant2' * Constant: '/Constant3' * Constant: '/Constant4' * Constant: '/Constant5' */ switch (rtb_timer_out) { case 0: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MAX_LV0[i]; } break; case 1: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MAX_LV1[i]; } break; case 2: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MAX_LV2[i]; } break; case 3: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MAX_LV3[i]; } break; case 4: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MAX_LV4[i]; } break; default: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MAX_LV5[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* DataTypeConversion: '/Data Type Conversion2' incorporates: * Gain: '/Gain2' */ rtb_dt_nx = rtb_Subtract >> 19; /* Gain: '/Gain1' incorporates: * Bias: '/Bias' * DataTypeConversion: '/Data Type Conversion2' * Gain: '/Gain3' */ rtb_Gain2 = ((int32_t)rtb_dt_nx + -15) << 14; /* DataTypeConversion: '/Data Type Conversion1' incorporates: * DataTypeConversion: '/Data Type Conversion3' * Gain: '/Gain1' */ rtb_DataTypeConversion3_l4 = (uint8_t)((((uint32_t)rtb_Gain2 & 16384U) != 0U) + (rtb_Gain2 >> 15)); /* Selector: '/Selector' incorporates: * DataTypeConversion: '/Data Type Conversion1' */ rtb_y_he = rtb_uDLookupTable7_g[rtb_DataTypeConversion3_l4 - 1]; /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table' * Lookup_n-D: '/1-D Lookup Table1' * Lookup_n-D: '/1-D Lookup Table2' * Lookup_n-D: '/1-D Lookup Table3' * Lookup_n-D: '/1-D Lookup Table4' * Lookup_n-D: '/1-D Lookup Table5' * Saturate: '/Saturation' */ switch (rtb_timer_out) { case 0: rtb_MultiportSwitch_ehw = look1_iu16lu64n48ts16Ds32_binlcs(rtb_Saturation_as, rtConstP.pooled81, &g_assTG_FLU_LV0[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table' * Lookup_n-D: '/1-D Lookup Table' * Saturate: '/Saturation' */ rtb_MultiportSwitch_dq2 = look1_iu16bs16lu64n32ts16Ds32_binlcs (rtb_Saturation_as, rtConstP.pooled54, &g_assINCAR_TG_FL_LV0[0], 12U); /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant' */ for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_INC_Y1_LV0[i]; } break; case 1: rtb_MultiportSwitch_ehw = look1_iu16lu64n48ts16Ds32_binlcs(rtb_Saturation_as, rtConstP.pooled81, &g_assTG_FLU_LV1[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table1' * Lookup_n-D: '/1-D Lookup Table1' * Saturate: '/Saturation' */ rtb_MultiportSwitch_dq2 = look1_iu16bs16lu64n32ts16Ds32_binlcs (rtb_Saturation_as, rtConstP.pooled54, &g_assINCAR_TG_FL_LV1[0], 12U); /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant1' */ for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_INC_Y1_LV1[i]; } break; case 2: rtb_MultiportSwitch_ehw = look1_iu16lu64n48ts16Ds32_binlcs(rtb_Saturation_as, rtConstP.pooled81, &g_assTG_FLU_LV2[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table2' * Lookup_n-D: '/1-D Lookup Table2' * Saturate: '/Saturation' */ rtb_MultiportSwitch_dq2 = look1_iu16bs16lu64n32ts16Ds32_binlcs (rtb_Saturation_as, rtConstP.pooled54, &g_assINCAR_TG_FL_LV2[0], 12U); /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant2' */ for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_INC_Y1_LV2[i]; } break; case 3: rtb_MultiportSwitch_ehw = look1_iu16lu64n48ts16Ds32_binlcs(rtb_Saturation_as, rtConstP.pooled81, &g_assTG_FLU_LV3[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table3' * Lookup_n-D: '/1-D Lookup Table3' * Saturate: '/Saturation' */ rtb_MultiportSwitch_dq2 = look1_iu16bs16lu64n32ts16Ds32_binlcs (rtb_Saturation_as, rtConstP.pooled54, &g_assINCAR_TG_FL_LV3[0], 12U); /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant3' */ for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_INC_Y1_LV3[i]; } break; case 4: rtb_MultiportSwitch_ehw = look1_iu16lu64n48ts16Ds32_binlcs(rtb_Saturation_as, rtConstP.pooled81, &g_assTG_FLU_LV4[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table4' * Lookup_n-D: '/1-D Lookup Table4' * Saturate: '/Saturation' */ rtb_MultiportSwitch_dq2 = look1_iu16bs16lu64n32ts16Ds32_binlcs (rtb_Saturation_as, rtConstP.pooled54, &g_assINCAR_TG_FL_LV4[0], 12U); /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant4' */ for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_INC_Y1_LV4[i]; } break; default: rtb_MultiportSwitch_ehw = look1_iu16lu64n48ts16Ds32_binlcs(rtb_Saturation_as, rtConstP.pooled81, &g_assTG_FLU_LV5[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table5' * Lookup_n-D: '/1-D Lookup Table5' * Saturate: '/Saturation' */ rtb_MultiportSwitch_dq2 = look1_iu16bs16lu64n32ts16Ds32_binlcs (rtb_Saturation_as, rtConstP.pooled54, &g_assINCAR_TG_FL_LV5[0], 12U); /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant5' */ for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_INC_Y1_LV5[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* Selector: '/Selector' incorporates: * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[0] = rtb_uDLookupTable7_g[rtb_DataTypeConversion3_l4 - 1]; /* MultiPortSwitch: '/Multiport Switch2' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[1] = g_assDTG_FU_INC_Y2_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[1] = g_assDTG_FU_INC_Y2_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[1] = g_assDTG_FU_INC_Y2_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[1] = g_assDTG_FU_INC_Y2_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[1] = g_assDTG_FU_INC_Y2_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[1] = g_assDTG_FU_INC_Y2_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch2' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_kz[2] = 0; /* MultiPortSwitch: '/Multiport Switch3' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector2' incorporates: * Constant: '/Constant14' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[3] = g_assDTG_FU_INC_Y3_LV0[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant20' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[4] = g_assDTG_FU_INC_Y4_LV0[rtb_DataTypeConversion3_l4 - 1]; /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant' */ for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_INC_X1_LV0[i]; } break; case 1: /* Selector: '/Selector2' incorporates: * Constant: '/Constant15' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[3] = g_assDTG_FU_INC_Y3_LV1[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant21' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[4] = g_assDTG_FU_INC_Y4_LV1[rtb_DataTypeConversion3_l4 - 1]; /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant1' */ for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_INC_X1_LV1[i]; } break; case 2: /* Selector: '/Selector2' incorporates: * Constant: '/Constant16' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[3] = g_assDTG_FU_INC_Y3_LV2[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant22' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[4] = g_assDTG_FU_INC_Y4_LV2[rtb_DataTypeConversion3_l4 - 1]; /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant2' */ for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_INC_X1_LV2[i]; } break; case 3: /* Selector: '/Selector2' incorporates: * Constant: '/Constant17' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[3] = g_assDTG_FU_INC_Y3_LV3[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant23' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[4] = g_assDTG_FU_INC_Y4_LV3[rtb_DataTypeConversion3_l4 - 1]; /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant3' */ for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_INC_X1_LV3[i]; } break; case 4: /* Selector: '/Selector2' incorporates: * Constant: '/Constant12' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[3] = g_assDTG_FU_INC_Y3_LV4[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant18' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[4] = g_assDTG_FU_INC_Y4_LV4[rtb_DataTypeConversion3_l4 - 1]; /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant4' */ for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_INC_X1_LV4[i]; } break; default: /* Selector: '/Selector2' incorporates: * Constant: '/Constant13' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[3] = g_assDTG_FU_INC_Y3_LV5[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant19' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[4] = g_assDTG_FU_INC_Y4_LV5[rtb_DataTypeConversion3_l4 - 1]; /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant5' */ for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_INC_X1_LV5[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch3' */ /* Selector: '/Selector' incorporates: * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_by[0] = rtb_uDLookupTable7_g[rtb_DataTypeConversion3_l4 - 1]; /* MultiPortSwitch: '/Multiport Switch2' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_by[1] = g_assDTG_FU_INC_X2_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_by[1] = g_assDTG_FU_INC_X2_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_by[1] = g_assDTG_FU_INC_X2_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_by[1] = g_assDTG_FU_INC_X2_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_by[1] = g_assDTG_FU_INC_X2_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_by[1] = g_assDTG_FU_INC_X2_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch2' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_by[2] = 0; /* MultiPortSwitch: '/Multiport Switch3' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector2' incorporates: * Constant: '/Constant14' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_by[3] = g_assDTG_FU_INC_X3_LV0[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant20' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_by[4] = g_assDTG_FU_INC_X4_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: /* Selector: '/Selector2' incorporates: * Constant: '/Constant15' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_by[3] = g_assDTG_FU_INC_X3_LV1[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant21' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_by[4] = g_assDTG_FU_INC_X4_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: /* Selector: '/Selector2' incorporates: * Constant: '/Constant16' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_by[3] = g_assDTG_FU_INC_X3_LV2[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant22' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_by[4] = g_assDTG_FU_INC_X4_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: /* Selector: '/Selector2' incorporates: * Constant: '/Constant17' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_by[3] = g_assDTG_FU_INC_X3_LV3[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant23' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_by[4] = g_assDTG_FU_INC_X4_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: /* Selector: '/Selector2' incorporates: * Constant: '/Constant12' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_by[3] = g_assDTG_FU_INC_X3_LV4[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant18' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_by[4] = g_assDTG_FU_INC_X4_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: /* Selector: '/Selector2' incorporates: * Constant: '/Constant13' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_by[3] = g_assDTG_FU_INC_X3_LV5[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant19' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_by[4] = g_assDTG_FU_INC_X4_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch3' */ /* Lookup_n-D: '/2.5 FLU_tg_incar' incorporates: * DataStoreRead: '/Data Store Read21' * Sum: '/2.5. X = Inc_Tg - Incar_fb' */ rtb_u5FLU_tg_incar_b = look1_is16lu64n32Ds32_binlcn((int16_t) (rtb_MultiportSwitch_dq2 - rtDW.Incar_FL), rtb_VectorConcatenate_by, rtb_VectorConcatenate_kz, 4U); /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * Constant: '/Constant2' * Constant: '/Constant3' * Constant: '/Constant4' * Constant: '/Constant5' */ switch (rtb_timer_out) { case 0: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_AMB_Y1_LV0[i]; } break; case 1: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_AMB_Y1_LV1[i]; } break; case 2: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_AMB_Y1_LV2[i]; } break; case 3: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_AMB_Y1_LV3[i]; } break; case 4: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_AMB_Y1_LV4[i]; } break; default: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_AMB_Y1_LV5[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* Selector: '/Selector' incorporates: * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[0] = rtb_uDLookupTable7_g[rtb_DataTypeConversion3_l4 - 1]; /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_pg[1] = 0; /* MultiPortSwitch: '/Multiport Switch2' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[2] = g_assDTG_FU_AMB_Y2_LV0[rtb_DataTypeConversion3_l4 - 1]; /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant' */ for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_AMB_X1_LV0[i]; } break; case 1: /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[2] = g_assDTG_FU_AMB_Y2_LV1[rtb_DataTypeConversion3_l4 - 1]; /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant1' */ for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_AMB_X1_LV1[i]; } break; case 2: /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[2] = g_assDTG_FU_AMB_Y2_LV2[rtb_DataTypeConversion3_l4 - 1]; /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant2' */ for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_AMB_X1_LV2[i]; } break; case 3: /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[2] = g_assDTG_FU_AMB_Y2_LV3[rtb_DataTypeConversion3_l4 - 1]; /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant3' */ for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_AMB_X1_LV3[i]; } break; case 4: /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[2] = g_assDTG_FU_AMB_Y2_LV4[rtb_DataTypeConversion3_l4 - 1]; /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant4' */ for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_AMB_X1_LV4[i]; } break; default: /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[2] = g_assDTG_FU_AMB_Y2_LV5[rtb_DataTypeConversion3_l4 - 1]; /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant5' */ for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_AMB_X1_LV5[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch2' */ /* Selector: '/Selector' incorporates: * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[0] = rtb_uDLookupTable7_g[rtb_DataTypeConversion3_l4 - 1]; /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_dw[1] = 0; /* MultiPortSwitch: '/Multiport Switch2' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[2] = g_assDTG_FU_AMB_X2_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[2] = g_assDTG_FU_AMB_X2_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[2] = g_assDTG_FU_AMB_X2_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[2] = g_assDTG_FU_AMB_X2_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[2] = g_assDTG_FU_AMB_X2_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[2] = g_assDTG_FU_AMB_X2_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch2' */ /* Sum: '/2.6. X = Amb_Tg - Amb_Fb' incorporates: * Bias: '/Bias' * Constant: '/Constant' * DataStoreRead: '/Data Store Read20' * Selector: '/Selector1' * Sum: '/2.6. X = Amb_Tg - Amb_Fb' * Sum: '/2.6. X = Amb_Tg - Amb_Fb' * Sum: '/2.6. X = Amb_Tg - Amb_Fb' * Sum: '/2.6. X = Amb_Tg - Amb_Fb' * Sum: '/2.6. X = Amb_Tg - Amb_Fb' */ rtb_DataTypeConversion1_gq = (int16_t)(g_assAMB_LV_TG[rtb_timer_out] - rtDW.AMB); /* Lookup_n-D: '/2.6 FLU_tg_amb' incorporates: * Sum: '/2.6. X = Amb_Tg - Amb_Fb' */ rtb_u6FLU_tg_amb_h = look1_is16lu64n32Ds32_binlcn(rtb_DataTypeConversion1_gq, rtb_VectorConcatenate_dw, rtb_VectorConcatenate_pg, 2U); /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_gn[0] = 0; /* MultiPortSwitch: '/Multiport Switch1' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector' incorporates: * Constant: '/Constant' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[1] = g_assDTG_FU_SUN_Y1_LV0[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assDTG_FU_SUN_Y2_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[1] = g_assDTG_FU_SUN_Y1_LV1[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assDTG_FU_SUN_Y2_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[1] = g_assDTG_FU_SUN_Y1_LV2[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assDTG_FU_SUN_Y2_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[1] = g_assDTG_FU_SUN_Y1_LV3[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assDTG_FU_SUN_Y2_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[1] = g_assDTG_FU_SUN_Y1_LV4[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assDTG_FU_SUN_Y2_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[1] = g_assDTG_FU_SUN_Y1_LV5[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assDTG_FU_SUN_Y2_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_np[0] = 0; /* MultiPortSwitch: '/Multiport Switch1' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector' incorporates: * Constant: '/Constant' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_np[1] = g_assDTG_FU_SUN_X1_LV0[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assDTG_FU_SUN_X2_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_np[1] = g_assDTG_FU_SUN_X1_LV1[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assDTG_FU_SUN_X2_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_np[1] = g_assDTG_FU_SUN_X1_LV2[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assDTG_FU_SUN_X2_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_np[1] = g_assDTG_FU_SUN_X1_LV3[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assDTG_FU_SUN_X2_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_np[1] = g_assDTG_FU_SUN_X1_LV4[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assDTG_FU_SUN_X2_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_np[1] = g_assDTG_FU_SUN_X1_LV5[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assDTG_FU_SUN_X2_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* Lookup_n-D: '/2.6 FLU_tg_amb' incorporates: * DataStoreRead: '/Data Store Read26' */ rtb_u6FLU_tg_amb_o = look1_bs16ts16Dd_binlc(rtDW.Sun_L, rtb_VectorConcatenate_np, rtb_VectorConcatenate_gn, 2U); /* Sum: '/FLU_tg_correct' */ rtb_FLU_tg_correct = (int16_t)((int16_t)((int16_t)(rtb_MultiportSwitch_ehw + rtb_u5FLU_tg_incar_b) + rtb_u6FLU_tg_amb_h) + rtb_u6FLU_tg_amb_o); /* Switch: '/Switch2' incorporates: * DataStoreWrite: '/Data Store Write' * RelationalOperator: '/LowerRelop1' */ if (rtb_FLU_tg_correct > rtb_y_he) { rtb_FLU_tg_correct = rtb_y_he; } else { /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * Constant: '/Constant2' * Constant: '/Constant3' * Constant: '/Constant4' * Constant: '/Constant5' */ switch (rtb_timer_out) { case 0: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MIN_LV0[i]; } break; case 1: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MIN_LV1[i]; } break; case 2: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MIN_LV2[i]; } break; case 3: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MIN_LV3[i]; } break; case 4: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MIN_LV4[i]; } break; default: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MIN_LV5[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* Selector: '/Selector' incorporates: * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_Switch2_nb = rtb_uDLookupTable7_g[rtb_DataTypeConversion3_l4 - 1]; /* Switch: '/Switch' incorporates: * DataStoreWrite: '/Data Store Write' * RelationalOperator: '/UpperRelop' * Selector: '/Selector' */ if (rtb_FLU_tg_correct < rtb_Switch2_nb) { rtb_FLU_tg_correct = rtb_Switch2_nb; } /* End of Switch: '/Switch' */ } /* End of Switch: '/Switch2' */ /* If: '/If' incorporates: * Constant: '/Constant' * Constant: '/Constant' * Constant: '/Constant' * DataStoreRead: '/Data Store Read' * Logic: '/Logical Operator' * RelationalOperator: '/Compare' * RelationalOperator: '/Compare' * RelationalOperator: '/Compare' */ if ((rtDW.step_start_controle_front == 0) || (rtDW.step_start_controle_front == 1) || (rtDW.step_start_controle_front == 2)) { /* Outputs for IfAction SubSystem: '/If Action Subsystem' incorporates: * ActionPort: '/Action Port' */ /* DataTypeConversion: '/Data Type Conversion' incorporates: * DataStoreRead: '/dtg from Start Control' */ rtb_Merge_b = (int16_t)rtDW.Dtg_FUL; /* End of Outputs for SubSystem: '/If Action Subsystem' */ } else { /* Outputs for IfAction SubSystem: '/If Action Subsystem1' incorporates: * ActionPort: '/Action Port' */ /* SignalConversion generated from: '/FXU' incorporates: * DataStoreWrite: '/Data Store Write' */ rtb_Merge_b = rtb_FLU_tg_correct; /* End of Outputs for SubSystem: '/If Action Subsystem1' */ } /* End of If: '/If' */ /* Switch: '/Switch2' incorporates: * RelationalOperator: '/LowerRelop1' */ if (rtb_Merge_b <= rtb_MultiportSwitch_cn) { /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/Constant' * Constant: '/Constant2' * Constant: '/Constant3' * Constant: '/Constant4' * Constant: '/Constant5' * Constant: '/Constant6' */ switch (rtb_timer_out) { case 0: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MIN_LV0[i]; } break; case 1: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MIN_LV1[i]; } break; case 2: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MIN_LV2[i]; } break; case 3: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MIN_LV3[i]; } break; case 4: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MIN_LV4[i]; } break; default: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MIN_LV5[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* Selector: '/Selector1' incorporates: * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_MultiportSwitch_cn = rtb_uDLookupTable7_g[(uint8_t)index_start_0 - 1]; /* Switch: '/Switch' incorporates: * RelationalOperator: '/UpperRelop' * Selector: '/Selector1' */ if (rtb_Merge_b >= rtb_MultiportSwitch_cn) { rtb_MultiportSwitch_cn = rtb_Merge_b; } /* End of Switch: '/Switch' */ } /* End of Switch: '/Switch2' */ /* Switch: '/Switch2' incorporates: * Constant: '/Constant12' * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read76' */ if (rtDW.CCU_AC_MAX > 0) { rtb_Gain2 = 5; } else { rtb_Gain2 = rtDW.CCU_AUTOMODE_FL; } /* MATLAB Function: '/func g_assAUTO_STEP_DUCT_TG_U' incorporates: * DataStoreRead: '/Data Store Read20' * Switch: '/Switch2' */ funcg_assAUTO_STEP_DUCT_TG_U(rtDW.LEVEL, (double)rtb_Gain2, &rtb_Merge_b); /* Switch: '/Switch8' incorporates: * Constant: '/manual' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read10' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read44' * DataStoreWrite: '/Data Store Write2' * RelationalOperator: '/Equal1' * Switch: '/Switch' * Switch: '/Switch15' */ if (rtDW.Max_def_algo_active) { Duct_FLU_Tg = rtDW.Max_def_FLU_duct_tg; } else if (rtDW.LO_HI_MODE_FL > 1) { /* Switch: '/Switch15' incorporates: * Constant: '/Constant' * DataStoreWrite: '/Data Store Write2' */ Duct_FLU_Tg = 600; } else if (rtDW.CCU_MODE_FL == 0) { /* Switch: '/Switch' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write2' * Sum: '/Add' * Switch: '/Switch15' */ Duct_FLU_Tg = (uint8_t)(rtb_MultiportSwitch_cn + rtDW.FLU_duct_target_offset_autodemist); } else { /* DataStoreWrite: '/Data Store Write2' incorporates: * DataStoreRead: '/Data Store Read' * Sum: '/Add' * Sum: '/Add' * Switch: '/Switch' * Switch: '/Switch15' */ Duct_FLU_Tg = (int16_t)((uint8_t)(rtb_MultiportSwitch_cn + rtDW.FLU_duct_target_offset_autodemist) + rtb_Merge_b); } /* End of Switch: '/Switch8' */ /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant10' * Constant: '/Constant11' * Constant: '/Constant12' * Constant: '/Constant7' * Constant: '/Constant8' * Constant: '/Constant9' */ switch (rtb_timer_out) { case 0: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MAX_LV0[i]; } break; case 1: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MAX_LV1[i]; } break; case 2: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MAX_LV2[i]; } break; case 3: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MAX_LV3[i]; } break; case 4: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MAX_LV4[i]; } break; default: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MAX_LV5[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* Selector: '/Selector' incorporates: * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_y_he = rtb_uDLookupTable7_g[(uint8_t)index_start_0 - 1]; /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * Constant: '/Constant2' * Constant: '/Constant3' * Constant: '/Constant4' * Constant: '/Constant5' */ switch (rtb_timer_out) { case 0: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MAX_LV0[i]; } break; case 1: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MAX_LV1[i]; } break; case 2: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MAX_LV2[i]; } break; case 3: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MAX_LV3[i]; } break; case 4: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MAX_LV4[i]; } break; default: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MAX_LV5[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* Saturate: '/Saturation1' incorporates: * DataStoreRead: '/Data Store Read17' */ if (rtDW.CCU_SET_FR > 290) { Gain1 = 290U; } else if (rtDW.CCU_SET_FR < 170) { Gain1 = 170U; } else { Gain1 = rtDW.CCU_SET_FR; } /* End of Saturate: '/Saturation1' */ /* Gain: '/Gain' incorporates: * Gain: '/Gain2' */ rtb_Gain2_tmp_tmp = 52429U * Gain1; /* DataTypeConversion: '/Data Type Conversion3' incorporates: * Gain: '/Gain' * Gain: '/Gain2' */ rtb_Gain2_tmp_tmp_0 = rtb_Gain2_tmp_tmp >> 19; /* Gain: '/Gain1' incorporates: * Bias: '/Bias' * DataTypeConversion: '/Data Type Conversion3' * Gain: '/Gain3' */ rtb_Gain2 = ((int32_t)rtb_Gain2_tmp_tmp_0 + -15) << 14; /* DataTypeConversion: '/Data Type Conversion2' incorporates: * DataTypeConversion: '/Data Type Conversion3' * Gain: '/Gain1' */ rtb_Switch1_j = (uint8_t)((((uint32_t)rtb_Gain2 & 16384U) != 0U) + (rtb_Gain2 >> 15)); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table' * Lookup_n-D: '/1-D Lookup Table1' * Lookup_n-D: '/1-D Lookup Table2' * Lookup_n-D: '/1-D Lookup Table3' * Lookup_n-D: '/1-D Lookup Table4' * Lookup_n-D: '/1-D Lookup Table5' * Saturate: '/Saturation1' */ switch (rtb_timer_out) { case 0: rtb_MultiportSwitch_ks = look1_iu16lu64n48ts16Ds32_binlcs(Gain1, rtConstP.pooled81, &g_assTG_FRU_LV0[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table' * Lookup_n-D: '/1-D Lookup Table' * Saturate: '/Saturation1' */ rtb_MultiportSwitch_oa = look1_iu16bs16lu64n32ts16Ds32_binlcs(Gain1, rtConstP.pooled54, &g_assINCAR_TG_FR_LV0[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch1' */ rtb_VectorConcatenate_by[0] = g_assDTG_FU_INC_Y1_LV0[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_by[1] = g_assDTG_FU_INC_Y2_LV0[rtb_Switch1_j - 1]; break; case 1: rtb_MultiportSwitch_ks = look1_iu16lu64n48ts16Ds32_binlcs(Gain1, rtConstP.pooled81, &g_assTG_FRU_LV1[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table1' * Lookup_n-D: '/1-D Lookup Table1' * Saturate: '/Saturation1' */ rtb_MultiportSwitch_oa = look1_iu16bs16lu64n32ts16Ds32_binlcs(Gain1, rtConstP.pooled54, &g_assINCAR_TG_FR_LV1[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch1' */ rtb_VectorConcatenate_by[0] = g_assDTG_FU_INC_Y1_LV1[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_by[1] = g_assDTG_FU_INC_Y2_LV1[rtb_Switch1_j - 1]; break; case 2: rtb_MultiportSwitch_ks = look1_iu16lu64n48ts16Ds32_binlcs(Gain1, rtConstP.pooled81, &g_assTG_FRU_LV2[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table2' * Lookup_n-D: '/1-D Lookup Table2' * Saturate: '/Saturation1' */ rtb_MultiportSwitch_oa = look1_iu16bs16lu64n32ts16Ds32_binlcs(Gain1, rtConstP.pooled54, &g_assINCAR_TG_FR_LV2[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch1' */ rtb_VectorConcatenate_by[0] = g_assDTG_FU_INC_Y1_LV2[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_by[1] = g_assDTG_FU_INC_Y2_LV2[rtb_Switch1_j - 1]; break; case 3: rtb_MultiportSwitch_ks = look1_iu16lu64n48ts16Ds32_binlcs(Gain1, rtConstP.pooled81, &g_assTG_FRU_LV3[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table3' * Lookup_n-D: '/1-D Lookup Table3' * Saturate: '/Saturation1' */ rtb_MultiportSwitch_oa = look1_iu16bs16lu64n32ts16Ds32_binlcs(Gain1, rtConstP.pooled54, &g_assINCAR_TG_FR_LV3[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch1' */ rtb_VectorConcatenate_by[0] = g_assDTG_FU_INC_Y1_LV3[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_by[1] = g_assDTG_FU_INC_Y2_LV3[rtb_Switch1_j - 1]; break; case 4: rtb_MultiportSwitch_ks = look1_iu16lu64n48ts16Ds32_binlcs(Gain1, rtConstP.pooled81, &g_assTG_FRU_LV4[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table4' * Lookup_n-D: '/1-D Lookup Table4' * Saturate: '/Saturation1' */ rtb_MultiportSwitch_oa = look1_iu16bs16lu64n32ts16Ds32_binlcs(Gain1, rtConstP.pooled54, &g_assINCAR_TG_FR_LV4[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch1' */ rtb_VectorConcatenate_by[0] = g_assDTG_FU_INC_Y1_LV4[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_by[1] = g_assDTG_FU_INC_Y2_LV4[rtb_Switch1_j - 1]; break; default: rtb_MultiportSwitch_ks = look1_iu16lu64n48ts16Ds32_binlcs(Gain1, rtConstP.pooled81, &g_assTG_FRU_LV5[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table5' * Lookup_n-D: '/1-D Lookup Table5' * Saturate: '/Saturation1' */ rtb_MultiportSwitch_oa = look1_iu16bs16lu64n32ts16Ds32_binlcs(Gain1, rtConstP.pooled54, &g_assINCAR_TG_FR_LV5[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch1' */ rtb_VectorConcatenate_by[0] = g_assDTG_FU_INC_Y1_LV5[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_by[1] = g_assDTG_FU_INC_Y2_LV5[rtb_Switch1_j - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_by[2] = 0; /* MultiPortSwitch: '/Multiport Switch3' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector2' incorporates: * Constant: '/Constant14' * DataTypeConversion: '/Data Type Conversion2' */ rtb_VectorConcatenate_by[3] = g_assDTG_FU_INC_Y3_LV0[rtb_Switch1_j - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant20' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_by[4] = g_assDTG_FU_INC_Y4_LV0[rtb_Switch1_j - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[0] = g_assDTG_FU_INC_X1_LV0[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[1] = g_assDTG_FU_INC_X2_LV0[rtb_Switch1_j - 1]; break; case 1: /* Selector: '/Selector2' incorporates: * Constant: '/Constant15' * DataTypeConversion: '/Data Type Conversion2' */ rtb_VectorConcatenate_by[3] = g_assDTG_FU_INC_Y3_LV1[rtb_Switch1_j - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant21' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_by[4] = g_assDTG_FU_INC_Y4_LV1[rtb_Switch1_j - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[0] = g_assDTG_FU_INC_X1_LV1[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[1] = g_assDTG_FU_INC_X2_LV1[rtb_Switch1_j - 1]; break; case 2: /* Selector: '/Selector2' incorporates: * Constant: '/Constant16' * DataTypeConversion: '/Data Type Conversion2' */ rtb_VectorConcatenate_by[3] = g_assDTG_FU_INC_Y3_LV2[rtb_Switch1_j - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant22' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_by[4] = g_assDTG_FU_INC_Y4_LV2[rtb_Switch1_j - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[0] = g_assDTG_FU_INC_X1_LV2[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[1] = g_assDTG_FU_INC_X2_LV2[rtb_Switch1_j - 1]; break; case 3: /* Selector: '/Selector2' incorporates: * Constant: '/Constant17' * DataTypeConversion: '/Data Type Conversion2' */ rtb_VectorConcatenate_by[3] = g_assDTG_FU_INC_Y3_LV3[rtb_Switch1_j - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant23' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_by[4] = g_assDTG_FU_INC_Y4_LV3[rtb_Switch1_j - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[0] = g_assDTG_FU_INC_X1_LV3[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[1] = g_assDTG_FU_INC_X2_LV3[rtb_Switch1_j - 1]; break; case 4: /* Selector: '/Selector2' incorporates: * Constant: '/Constant12' * DataTypeConversion: '/Data Type Conversion2' */ rtb_VectorConcatenate_by[3] = g_assDTG_FU_INC_Y3_LV4[rtb_Switch1_j - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant18' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_by[4] = g_assDTG_FU_INC_Y4_LV4[rtb_Switch1_j - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[0] = g_assDTG_FU_INC_X1_LV4[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[1] = g_assDTG_FU_INC_X2_LV4[rtb_Switch1_j - 1]; break; default: /* Selector: '/Selector2' incorporates: * Constant: '/Constant13' * DataTypeConversion: '/Data Type Conversion2' */ rtb_VectorConcatenate_by[3] = g_assDTG_FU_INC_Y3_LV5[rtb_Switch1_j - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant19' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_by[4] = g_assDTG_FU_INC_Y4_LV5[rtb_Switch1_j - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[0] = g_assDTG_FU_INC_X1_LV5[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[1] = g_assDTG_FU_INC_X2_LV5[rtb_Switch1_j - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch3' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_kz[2] = 0; /* MultiPortSwitch: '/Multiport Switch3' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector2' incorporates: * Constant: '/Constant14' * DataTypeConversion: '/Data Type Conversion2' */ rtb_VectorConcatenate_kz[3] = g_assDTG_FU_INC_X3_LV0[rtb_Switch1_j - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant20' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[4] = g_assDTG_FU_INC_X4_LV0[rtb_Switch1_j - 1]; break; case 1: /* Selector: '/Selector2' incorporates: * Constant: '/Constant15' * DataTypeConversion: '/Data Type Conversion2' */ rtb_VectorConcatenate_kz[3] = g_assDTG_FU_INC_X3_LV1[rtb_Switch1_j - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant21' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[4] = g_assDTG_FU_INC_X4_LV1[rtb_Switch1_j - 1]; break; case 2: /* Selector: '/Selector2' incorporates: * Constant: '/Constant16' * DataTypeConversion: '/Data Type Conversion2' */ rtb_VectorConcatenate_kz[3] = g_assDTG_FU_INC_X3_LV2[rtb_Switch1_j - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant22' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[4] = g_assDTG_FU_INC_X4_LV2[rtb_Switch1_j - 1]; break; case 3: /* Selector: '/Selector2' incorporates: * Constant: '/Constant17' * DataTypeConversion: '/Data Type Conversion2' */ rtb_VectorConcatenate_kz[3] = g_assDTG_FU_INC_X3_LV3[rtb_Switch1_j - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant23' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[4] = g_assDTG_FU_INC_X4_LV3[rtb_Switch1_j - 1]; break; case 4: /* Selector: '/Selector2' incorporates: * Constant: '/Constant12' * DataTypeConversion: '/Data Type Conversion2' */ rtb_VectorConcatenate_kz[3] = g_assDTG_FU_INC_X3_LV4[rtb_Switch1_j - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant18' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[4] = g_assDTG_FU_INC_X4_LV4[rtb_Switch1_j - 1]; break; default: /* Selector: '/Selector2' incorporates: * Constant: '/Constant13' * DataTypeConversion: '/Data Type Conversion2' */ rtb_VectorConcatenate_kz[3] = g_assDTG_FU_INC_X3_LV5[rtb_Switch1_j - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant19' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[4] = g_assDTG_FU_INC_X4_LV5[rtb_Switch1_j - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch3' */ /* Lookup_n-D: '/2.5 FRU_tg_incar' incorporates: * DataStoreRead: '/Data Store Read22' * Sum: '/2.5. X = Inc_Tg - Incar_fb' */ rtb_u5FRU_tg_incar = look1_is16lu64n32Ds32_binlcn((int16_t) (rtb_MultiportSwitch_oa - rtDW.Incar_FR), rtb_VectorConcatenate_kz, rtb_VectorConcatenate_by, 4U); /* MultiPortSwitch: '/Multiport Switch1' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector' incorporates: * Constant: '/Constant' * DataTypeConversion: '/Data Type Conversion2' */ rtb_VectorConcatenate_dw[0] = g_assDTG_FU_AMB_Y1_LV0[rtb_Switch1_j - 1]; break; case 1: /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * DataTypeConversion: '/Data Type Conversion2' */ rtb_VectorConcatenate_dw[0] = g_assDTG_FU_AMB_Y1_LV1[rtb_Switch1_j - 1]; break; case 2: /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * DataTypeConversion: '/Data Type Conversion2' */ rtb_VectorConcatenate_dw[0] = g_assDTG_FU_AMB_Y1_LV2[rtb_Switch1_j - 1]; break; case 3: /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * DataTypeConversion: '/Data Type Conversion2' */ rtb_VectorConcatenate_dw[0] = g_assDTG_FU_AMB_Y1_LV3[rtb_Switch1_j - 1]; break; case 4: /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * DataTypeConversion: '/Data Type Conversion2' */ rtb_VectorConcatenate_dw[0] = g_assDTG_FU_AMB_Y1_LV4[rtb_Switch1_j - 1]; break; default: /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * DataTypeConversion: '/Data Type Conversion2' */ rtb_VectorConcatenate_dw[0] = g_assDTG_FU_AMB_Y1_LV5[rtb_Switch1_j - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_dw[1] = 0; /* MultiPortSwitch: '/Multiport Switch2' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * DataTypeConversion: '/Data Type Conversion2' */ rtb_VectorConcatenate_dw[2] = g_assDTG_FU_AMB_Y2_LV0[rtb_Switch1_j - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector1' */ rtb_VectorConcatenate_pg[0] = g_assDTG_FU_AMB_X1_LV0[rtb_Switch1_j - 1]; break; case 1: /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * DataTypeConversion: '/Data Type Conversion2' */ rtb_VectorConcatenate_dw[2] = g_assDTG_FU_AMB_Y2_LV1[rtb_Switch1_j - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector1' */ rtb_VectorConcatenate_pg[0] = g_assDTG_FU_AMB_X1_LV1[rtb_Switch1_j - 1]; break; case 2: /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * DataTypeConversion: '/Data Type Conversion2' */ rtb_VectorConcatenate_dw[2] = g_assDTG_FU_AMB_Y2_LV2[rtb_Switch1_j - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector1' */ rtb_VectorConcatenate_pg[0] = g_assDTG_FU_AMB_X1_LV2[rtb_Switch1_j - 1]; break; case 3: /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * DataTypeConversion: '/Data Type Conversion2' */ rtb_VectorConcatenate_dw[2] = g_assDTG_FU_AMB_Y2_LV3[rtb_Switch1_j - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector1' */ rtb_VectorConcatenate_pg[0] = g_assDTG_FU_AMB_X1_LV3[rtb_Switch1_j - 1]; break; case 4: /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * DataTypeConversion: '/Data Type Conversion2' */ rtb_VectorConcatenate_dw[2] = g_assDTG_FU_AMB_Y2_LV4[rtb_Switch1_j - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector1' */ rtb_VectorConcatenate_pg[0] = g_assDTG_FU_AMB_X1_LV4[rtb_Switch1_j - 1]; break; default: /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * DataTypeConversion: '/Data Type Conversion2' */ rtb_VectorConcatenate_dw[2] = g_assDTG_FU_AMB_Y2_LV5[rtb_Switch1_j - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector1' */ rtb_VectorConcatenate_pg[0] = g_assDTG_FU_AMB_X1_LV5[rtb_Switch1_j - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch2' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_pg[1] = 0; /* MultiPortSwitch: '/Multiport Switch2' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * DataTypeConversion: '/Data Type Conversion2' */ rtb_VectorConcatenate_pg[2] = g_assDTG_FU_AMB_X2_LV0[rtb_Switch1_j - 1]; break; case 1: /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * DataTypeConversion: '/Data Type Conversion2' */ rtb_VectorConcatenate_pg[2] = g_assDTG_FU_AMB_X2_LV1[rtb_Switch1_j - 1]; break; case 2: /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * DataTypeConversion: '/Data Type Conversion2' */ rtb_VectorConcatenate_pg[2] = g_assDTG_FU_AMB_X2_LV2[rtb_Switch1_j - 1]; break; case 3: /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * DataTypeConversion: '/Data Type Conversion2' */ rtb_VectorConcatenate_pg[2] = g_assDTG_FU_AMB_X2_LV3[rtb_Switch1_j - 1]; break; case 4: /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * DataTypeConversion: '/Data Type Conversion2' */ rtb_VectorConcatenate_pg[2] = g_assDTG_FU_AMB_X2_LV4[rtb_Switch1_j - 1]; break; default: /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * DataTypeConversion: '/Data Type Conversion2' */ rtb_VectorConcatenate_pg[2] = g_assDTG_FU_AMB_X2_LV5[rtb_Switch1_j - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch2' */ /* Lookup_n-D: '/2.6 FRU_tg_amb' */ rtb_u6FRU_tg_amb_f = look1_is16lu64n32Ds32_binlcn(rtb_DataTypeConversion1_gq, rtb_VectorConcatenate_pg, rtb_VectorConcatenate_dw, 2U); /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_gn[0] = 0; /* MultiPortSwitch: '/Multiport Switch1' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector' incorporates: * Constant: '/Constant' * DataTypeConversion: '/Data Type Conversion2' */ rtb_VectorConcatenate_gn[1] = g_assDTG_FU_SUN_Y1_LV0[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assDTG_FU_SUN_Y2_LV0[rtb_Switch1_j - 1]; break; case 1: /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * DataTypeConversion: '/Data Type Conversion2' */ rtb_VectorConcatenate_gn[1] = g_assDTG_FU_SUN_Y1_LV1[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assDTG_FU_SUN_Y2_LV1[rtb_Switch1_j - 1]; break; case 2: /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * DataTypeConversion: '/Data Type Conversion2' */ rtb_VectorConcatenate_gn[1] = g_assDTG_FU_SUN_Y1_LV2[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assDTG_FU_SUN_Y2_LV2[rtb_Switch1_j - 1]; break; case 3: /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * DataTypeConversion: '/Data Type Conversion2' */ rtb_VectorConcatenate_gn[1] = g_assDTG_FU_SUN_Y1_LV3[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assDTG_FU_SUN_Y2_LV3[rtb_Switch1_j - 1]; break; case 4: /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * DataTypeConversion: '/Data Type Conversion2' */ rtb_VectorConcatenate_gn[1] = g_assDTG_FU_SUN_Y1_LV4[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assDTG_FU_SUN_Y2_LV4[rtb_Switch1_j - 1]; break; default: /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * DataTypeConversion: '/Data Type Conversion2' */ rtb_VectorConcatenate_gn[1] = g_assDTG_FU_SUN_Y1_LV5[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assDTG_FU_SUN_Y2_LV5[rtb_Switch1_j - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_np[0] = 0; /* MultiPortSwitch: '/Multiport Switch1' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector' incorporates: * Constant: '/Constant' * DataTypeConversion: '/Data Type Conversion2' */ rtb_VectorConcatenate_np[1] = g_assDTG_FU_SUN_X1_LV0[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assDTG_FU_SUN_X2_LV0[rtb_Switch1_j - 1]; break; case 1: /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * DataTypeConversion: '/Data Type Conversion2' */ rtb_VectorConcatenate_np[1] = g_assDTG_FU_SUN_X1_LV1[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assDTG_FU_SUN_X2_LV1[rtb_Switch1_j - 1]; break; case 2: /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * DataTypeConversion: '/Data Type Conversion2' */ rtb_VectorConcatenate_np[1] = g_assDTG_FU_SUN_X1_LV2[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assDTG_FU_SUN_X2_LV2[rtb_Switch1_j - 1]; break; case 3: /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * DataTypeConversion: '/Data Type Conversion2' */ rtb_VectorConcatenate_np[1] = g_assDTG_FU_SUN_X1_LV3[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assDTG_FU_SUN_X2_LV3[rtb_Switch1_j - 1]; break; case 4: /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * DataTypeConversion: '/Data Type Conversion2' */ rtb_VectorConcatenate_np[1] = g_assDTG_FU_SUN_X1_LV4[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assDTG_FU_SUN_X2_LV4[rtb_Switch1_j - 1]; break; default: /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * DataTypeConversion: '/Data Type Conversion2' */ rtb_VectorConcatenate_np[1] = g_assDTG_FU_SUN_X1_LV5[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assDTG_FU_SUN_X2_LV5[rtb_Switch1_j - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* Lookup_n-D: '/2.6 FRU_tg_amb' incorporates: * DataStoreRead: '/Data Store Read27' */ rtb_u6FRU_tg_amb = look1_bs16ts16Dd_binlc(rtDW.Sun_R, rtb_VectorConcatenate_np, rtb_VectorConcatenate_gn, 2U); /* Sum: '/FLU_tg_correct1' */ rtb_Merge_b = (int16_t)((int16_t)((int16_t)(rtb_MultiportSwitch_ks + rtb_u5FRU_tg_incar) + rtb_u6FRU_tg_amb_f) + rtb_u6FRU_tg_amb); /* Switch: '/Switch2' incorporates: * DataStoreWrite: '/Data Store Write1' * DataTypeConversion: '/Data Type Conversion2' * RelationalOperator: '/LowerRelop1' * Selector: '/Selector' */ if (rtb_Merge_b > rtb_uDLookupTable7_g[rtb_Switch1_j - 1]) { rtb_Merge_b = rtb_uDLookupTable7_g[rtb_Switch1_j - 1]; } else { /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * Constant: '/Constant2' * Constant: '/Constant3' * Constant: '/Constant4' * Constant: '/Constant5' */ switch (rtb_timer_out) { case 0: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MIN_LV0[i]; } break; case 1: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MIN_LV1[i]; } break; case 2: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MIN_LV2[i]; } break; case 3: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MIN_LV3[i]; } break; case 4: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MIN_LV4[i]; } break; default: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MIN_LV5[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* Selector: '/Selector' */ rtb_Switch2_nb = rtb_uDLookupTable7_g[rtb_Switch1_j - 1]; /* Switch: '/Switch' incorporates: * DataStoreWrite: '/Data Store Write1' * RelationalOperator: '/UpperRelop' * Selector: '/Selector' */ if (rtb_Merge_b < rtb_Switch2_nb) { rtb_Merge_b = rtb_Switch2_nb; } /* End of Switch: '/Switch' */ } /* End of Switch: '/Switch2' */ /* If: '/If' incorporates: * Constant: '/Constant' * Constant: '/Constant' * Constant: '/Constant' * DataStoreRead: '/Data Store Read' * Logic: '/Logical Operator' * RelationalOperator: '/Compare' * RelationalOperator: '/Compare' * RelationalOperator: '/Compare' */ if ((rtDW.step_start_controle_front == 0) || (rtDW.step_start_controle_front == 1) || (rtDW.step_start_controle_front == 2)) { /* Outputs for IfAction SubSystem: '/If Action Subsystem' incorporates: * ActionPort: '/Action Port' */ /* DataTypeConversion: '/Data Type Conversion' incorporates: * DataStoreRead: '/dtg from Start Control' */ rtb_Merge_b = (int16_t)rtDW.Dtg_FUR; /* End of Outputs for SubSystem: '/If Action Subsystem' */ } /* End of If: '/If' */ /* Switch: '/Switch2' incorporates: * RelationalOperator: '/LowerRelop1' */ if (rtb_Merge_b <= rtb_y_he) { /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/Constant' * Constant: '/Constant2' * Constant: '/Constant3' * Constant: '/Constant4' * Constant: '/Constant5' * Constant: '/Constant6' */ switch (rtb_timer_out) { case 0: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MIN_LV0[i]; } break; case 1: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MIN_LV1[i]; } break; case 2: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MIN_LV2[i]; } break; case 3: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MIN_LV3[i]; } break; case 4: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MIN_LV4[i]; } break; default: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FU_MIN_LV5[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* Selector: '/Selector1' incorporates: * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_y_he = rtb_uDLookupTable7_g[(uint8_t)index_start_0 - 1]; /* Switch: '/Switch' incorporates: * RelationalOperator: '/UpperRelop' * Selector: '/Selector1' */ if (rtb_Merge_b >= rtb_y_he) { rtb_y_he = rtb_Merge_b; } /* End of Switch: '/Switch' */ } /* End of Switch: '/Switch2' */ /* Switch: '/Switch2' incorporates: * Constant: '/Constant12' * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read76' */ if (rtDW.CCU_AC_MAX > 0) { rtb_Gain2 = 5; } else { rtb_Gain2 = rtDW.CCU_AUTOMODE_FR; } /* MATLAB Function: '/func g_assAUTO_STEP_DUCT_TG_U' incorporates: * DataStoreRead: '/Data Store Read20' * Switch: '/Switch2' */ funcg_assAUTO_STEP_DUCT_TG_U(rtDW.LEVEL, (double)rtb_Gain2, &rtb_Merge_b); /* Switch: '/Switch1' incorporates: * Constant: '/manual' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read44' * DataStoreWrite: '/Data Store Write3' * RelationalOperator: '/Equal1' * Switch: '/Switch' * Switch: '/Switch15' */ if (rtDW.Max_def_algo_active) { Duct_FRU_Tg = rtDW.Max_def_FLU_duct_tg; } else if (rtDW.LO_HI_MODE_FR > 1) { /* Switch: '/Switch15' incorporates: * Constant: '/Constant' * DataStoreWrite: '/Data Store Write3' */ Duct_FRU_Tg = 600; } else if (rtDW.CCU_MODE_FR == 0) { /* Switch: '/Switch' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write3' * Sum: '/Add' * Switch: '/Switch15' */ Duct_FRU_Tg = (uint8_t)(rtb_y_he + rtDW.FRU_duct_target_offset_autodemist); } else { /* DataStoreWrite: '/Data Store Write3' incorporates: * DataStoreRead: '/Data Store Read' * Sum: '/Add' * Sum: '/Add' * Switch: '/Switch' * Switch: '/Switch15' */ Duct_FRU_Tg = (int16_t)((uint8_t)(rtb_y_he + rtDW.FRU_duct_target_offset_autodemist) + rtb_Merge_b); } /* End of Switch: '/Switch1' */ /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * Constant: '/Constant2' * Constant: '/Constant3' * Constant: '/Constant4' * Constant: '/Constant5' */ switch (rtb_timer_out) { case 0: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_R_MAX_LV0[i]; } break; case 1: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_R_MAX_LV1[i]; } break; case 2: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_R_MAX_LV2[i]; } break; case 3: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_R_MAX_LV3[i]; } break; case 4: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_R_MAX_LV4[i]; } break; default: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_R_MAX_LV5[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* Saturate: '/Saturation2' incorporates: * DataStoreRead: '/Data Store Read18' */ if (rtDW.CCU_SET_RL > 290) { rtb_Saturation2_a = 290U; } else if (rtDW.CCU_SET_RL < 170) { rtb_Saturation2_a = 170U; } else { rtb_Saturation2_a = rtDW.CCU_SET_RL; } /* End of Saturate: '/Saturation2' */ /* Gain: '/Gain1' incorporates: * Bias: '/Bias' * DataTypeConversion: '/Data Type Conversion2' * Gain: '/Gain2' * Gain: '/Gain' */ rtb_Gain2 = ((int32_t)((52429U * rtb_Saturation2_a) >> 19) + -15) << 14; /* DataTypeConversion: '/Data Type Conversion1' incorporates: * Gain: '/Gain2' * Saturate: '/Saturation' */ rtb_DataTypeConversion1_nc = (uint8_t)((((uint32_t)rtb_Gain2 & 16384U) != 0U) + (rtb_Gain2 >> 15)); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table' * Lookup_n-D: '/1-D Lookup Table1' * Lookup_n-D: '/1-D Lookup Table2' * Lookup_n-D: '/1-D Lookup Table3' * Lookup_n-D: '/1-D Lookup Table4' * Lookup_n-D: '/1-D Lookup Table5' * Saturate: '/Saturation2' */ switch (rtb_timer_out) { case 0: rtb_MultiportSwitch_cn = look1_iu16lu64n48ts16Ds32_binlcs(rtb_Saturation2_a, rtConstP.pooled81, &g_assTG_RL_LV0[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table' * Lookup_n-D: '/1-D Lookup Table' * Saturate: '/Saturation2' */ rtb_MultiportSwitch_np = look1_iu16bs16lu64n32ts16Ds32_binlcs (rtb_Saturation2_a, rtConstP.pooled54, &g_assINCAR_TG_RL_LV0[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch1' */ rtb_VectorConcatenate_by[0] = g_assDTG_R_INC_Y1_LV0[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_by[1] = g_assDTG_R_INC_Y2_LV0[rtb_DataTypeConversion1_nc - 1]; break; case 1: rtb_MultiportSwitch_cn = look1_iu16lu64n48ts16Ds32_binlcs(rtb_Saturation2_a, rtConstP.pooled81, &g_assTG_RL_LV1[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table1' * Lookup_n-D: '/1-D Lookup Table1' * Saturate: '/Saturation2' */ rtb_MultiportSwitch_np = look1_iu16bs16lu64n32ts16Ds32_binlcs (rtb_Saturation2_a, rtConstP.pooled54, &g_assINCAR_TG_RL_LV1[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * MultiPortSwitch: '/Multiport Switch1' */ rtb_VectorConcatenate_by[0] = g_assDTG_R_INC_Y1_LV1[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_by[1] = g_assDTG_R_INC_Y2_LV1[rtb_DataTypeConversion1_nc - 1]; break; case 2: rtb_MultiportSwitch_cn = look1_iu16lu64n48ts16Ds32_binlcs(rtb_Saturation2_a, rtConstP.pooled81, &g_assTG_RL_LV2[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table2' * Lookup_n-D: '/1-D Lookup Table2' * Saturate: '/Saturation2' */ rtb_MultiportSwitch_np = look1_iu16bs16lu64n32ts16Ds32_binlcs (rtb_Saturation2_a, rtConstP.pooled54, &g_assINCAR_TG_RL_LV2[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * MultiPortSwitch: '/Multiport Switch1' */ rtb_VectorConcatenate_by[0] = g_assDTG_R_INC_Y1_LV2[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_by[1] = g_assDTG_R_INC_Y2_LV2[rtb_DataTypeConversion1_nc - 1]; break; case 3: rtb_MultiportSwitch_cn = look1_iu16lu64n48ts16Ds32_binlcs(rtb_Saturation2_a, rtConstP.pooled81, &g_assTG_RL_LV3[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table3' * Lookup_n-D: '/1-D Lookup Table3' * Saturate: '/Saturation2' */ rtb_MultiportSwitch_np = look1_iu16bs16lu64n32ts16Ds32_binlcs (rtb_Saturation2_a, rtConstP.pooled54, &g_assINCAR_TG_RL_LV3[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * MultiPortSwitch: '/Multiport Switch1' */ rtb_VectorConcatenate_by[0] = g_assDTG_R_INC_Y1_LV3[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_by[1] = g_assDTG_R_INC_Y2_LV3[rtb_DataTypeConversion1_nc - 1]; break; case 4: rtb_MultiportSwitch_cn = look1_iu16lu64n48ts16Ds32_binlcs(rtb_Saturation2_a, rtConstP.pooled81, &g_assTG_RL_LV4[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table4' * Lookup_n-D: '/1-D Lookup Table4' * Saturate: '/Saturation2' */ rtb_MultiportSwitch_np = look1_iu16bs16lu64n32ts16Ds32_binlcs (rtb_Saturation2_a, rtConstP.pooled54, &g_assINCAR_TG_RL_LV4[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * MultiPortSwitch: '/Multiport Switch1' */ rtb_VectorConcatenate_by[0] = g_assDTG_R_INC_Y1_LV4[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_by[1] = g_assDTG_R_INC_Y2_LV4[rtb_DataTypeConversion1_nc - 1]; break; default: rtb_MultiportSwitch_cn = look1_iu16lu64n48ts16Ds32_binlcs(rtb_Saturation2_a, rtConstP.pooled81, &g_assTG_RL_LV5[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table5' * Lookup_n-D: '/1-D Lookup Table5' * Saturate: '/Saturation2' */ rtb_MultiportSwitch_np = look1_iu16bs16lu64n32ts16Ds32_binlcs (rtb_Saturation2_a, rtConstP.pooled54, &g_assINCAR_TG_RL_LV5[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * MultiPortSwitch: '/Multiport Switch1' */ rtb_VectorConcatenate_by[0] = g_assDTG_R_INC_Y1_LV5[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_by[1] = g_assDTG_R_INC_Y2_LV5[rtb_DataTypeConversion1_nc - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_by[2] = 0; /* MultiPortSwitch: '/Multiport Switch3' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector2' incorporates: * Constant: '/Constant14' */ rtb_VectorConcatenate_by[3] = g_assDTG_R_INC_Y3_LV0[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant20' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_by[4] = g_assDTG_R_INC_Y4_LV0[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[0] = g_assDTG_R_INC_X1_LV0[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[1] = g_assDTG_R_INC_X2_LV0[rtb_DataTypeConversion1_nc - 1]; break; case 1: /* Selector: '/Selector2' incorporates: * Constant: '/Constant15' */ rtb_VectorConcatenate_by[3] = g_assDTG_R_INC_Y3_LV1[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant21' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_by[4] = g_assDTG_R_INC_Y4_LV1[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[0] = g_assDTG_R_INC_X1_LV1[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[1] = g_assDTG_R_INC_X2_LV1[rtb_DataTypeConversion1_nc - 1]; break; case 2: /* Selector: '/Selector2' incorporates: * Constant: '/Constant16' */ rtb_VectorConcatenate_by[3] = g_assDTG_R_INC_Y3_LV2[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant22' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_by[4] = g_assDTG_R_INC_Y4_LV2[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[0] = g_assDTG_R_INC_X1_LV2[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[1] = g_assDTG_R_INC_X2_LV2[rtb_DataTypeConversion1_nc - 1]; break; case 3: /* Selector: '/Selector2' incorporates: * Constant: '/Constant17' */ rtb_VectorConcatenate_by[3] = g_assDTG_R_INC_Y3_LV3[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant23' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_by[4] = g_assDTG_R_INC_Y4_LV3[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[0] = g_assDTG_R_INC_X1_LV3[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[1] = g_assDTG_R_INC_X2_LV3[rtb_DataTypeConversion1_nc - 1]; break; case 4: /* Selector: '/Selector2' incorporates: * Constant: '/Constant12' */ rtb_VectorConcatenate_by[3] = g_assDTG_R_INC_Y3_LV4[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant18' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_by[4] = g_assDTG_R_INC_Y4_LV4[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[0] = g_assDTG_R_INC_X1_LV4[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[1] = g_assDTG_R_INC_X2_LV4[rtb_DataTypeConversion1_nc - 1]; break; default: /* Selector: '/Selector2' incorporates: * Constant: '/Constant13' */ rtb_VectorConcatenate_by[3] = g_assDTG_R_INC_Y3_LV5[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant19' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_by[4] = g_assDTG_R_INC_Y4_LV5[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[0] = g_assDTG_R_INC_X1_LV5[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[1] = g_assDTG_R_INC_X2_LV5[rtb_DataTypeConversion1_nc - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch3' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_kz[2] = 0; /* MultiPortSwitch: '/Multiport Switch3' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector2' incorporates: * Constant: '/Constant14' */ rtb_VectorConcatenate_kz[3] = g_assDTG_R_INC_X3_LV0[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant20' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[4] = g_assDTG_R_INC_X4_LV0[rtb_DataTypeConversion1_nc - 1]; break; case 1: /* Selector: '/Selector2' incorporates: * Constant: '/Constant15' */ rtb_VectorConcatenate_kz[3] = g_assDTG_R_INC_X3_LV1[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant21' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[4] = g_assDTG_R_INC_X4_LV1[rtb_DataTypeConversion1_nc - 1]; break; case 2: /* Selector: '/Selector2' incorporates: * Constant: '/Constant16' */ rtb_VectorConcatenate_kz[3] = g_assDTG_R_INC_X3_LV2[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant22' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[4] = g_assDTG_R_INC_X4_LV2[rtb_DataTypeConversion1_nc - 1]; break; case 3: /* Selector: '/Selector2' incorporates: * Constant: '/Constant17' */ rtb_VectorConcatenate_kz[3] = g_assDTG_R_INC_X3_LV3[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant23' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[4] = g_assDTG_R_INC_X4_LV3[rtb_DataTypeConversion1_nc - 1]; break; case 4: /* Selector: '/Selector2' incorporates: * Constant: '/Constant12' */ rtb_VectorConcatenate_kz[3] = g_assDTG_R_INC_X3_LV4[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant18' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[4] = g_assDTG_R_INC_X4_LV4[rtb_DataTypeConversion1_nc - 1]; break; default: /* Selector: '/Selector2' incorporates: * Constant: '/Constant13' */ rtb_VectorConcatenate_kz[3] = g_assDTG_R_INC_X3_LV5[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant19' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[4] = g_assDTG_R_INC_X4_LV5[rtb_DataTypeConversion1_nc - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch3' */ /* Lookup_n-D: '/2.5 R_tg_incar' incorporates: * DataStoreRead: '/Data Store Read23' * Sum: '/2.5. X = Inc_Tg - Incar_fb' */ rtb_u5R_tg_incar = look1_is16lu64n32Ds32_binlcn((int16_t) (rtb_MultiportSwitch_np - rtDW.Incar_RL), rtb_VectorConcatenate_kz, rtb_VectorConcatenate_by, 4U); /* MultiPortSwitch: '/Multiport Switch1' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector' incorporates: * Constant: '/Constant' */ rtb_VectorConcatenate_dw[0] = g_assDTG_R_AMB_Y1_LV0[rtb_DataTypeConversion1_nc - 1]; break; case 1: /* Selector: '/Selector' incorporates: * Constant: '/Constant1' */ rtb_VectorConcatenate_dw[0] = g_assDTG_R_AMB_Y1_LV1[rtb_DataTypeConversion1_nc - 1]; break; case 2: /* Selector: '/Selector' incorporates: * Constant: '/Constant2' */ rtb_VectorConcatenate_dw[0] = g_assDTG_R_AMB_Y1_LV2[rtb_DataTypeConversion1_nc - 1]; break; case 3: /* Selector: '/Selector' incorporates: * Constant: '/Constant3' */ rtb_VectorConcatenate_dw[0] = g_assDTG_R_AMB_Y1_LV3[rtb_DataTypeConversion1_nc - 1]; break; case 4: /* Selector: '/Selector' incorporates: * Constant: '/Constant4' */ rtb_VectorConcatenate_dw[0] = g_assDTG_R_AMB_Y1_LV4[rtb_DataTypeConversion1_nc - 1]; break; default: /* Selector: '/Selector' incorporates: * Constant: '/Constant5' */ rtb_VectorConcatenate_dw[0] = g_assDTG_R_AMB_Y1_LV5[rtb_DataTypeConversion1_nc - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_dw[1] = 0; /* MultiPortSwitch: '/Multiport Switch2' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' */ rtb_VectorConcatenate_dw[2] = g_assDTG_R_AMB_Y2_LV0[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector1' */ rtb_VectorConcatenate_pg[0] = g_assDTG_R_AMB_X1_LV0[rtb_DataTypeConversion1_nc - 1]; break; case 1: /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' */ rtb_VectorConcatenate_dw[2] = g_assDTG_R_AMB_Y2_LV1[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector1' */ rtb_VectorConcatenate_pg[0] = g_assDTG_R_AMB_X1_LV1[rtb_DataTypeConversion1_nc - 1]; break; case 2: /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' */ rtb_VectorConcatenate_dw[2] = g_assDTG_R_AMB_Y2_LV2[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector1' */ rtb_VectorConcatenate_pg[0] = g_assDTG_R_AMB_X1_LV2[rtb_DataTypeConversion1_nc - 1]; break; case 3: /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' */ rtb_VectorConcatenate_dw[2] = g_assDTG_R_AMB_Y2_LV3[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector1' */ rtb_VectorConcatenate_pg[0] = g_assDTG_R_AMB_X1_LV3[rtb_DataTypeConversion1_nc - 1]; break; case 4: /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' */ rtb_VectorConcatenate_dw[2] = g_assDTG_R_AMB_Y2_LV4[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector1' */ rtb_VectorConcatenate_pg[0] = g_assDTG_R_AMB_X1_LV4[rtb_DataTypeConversion1_nc - 1]; break; default: /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' */ rtb_VectorConcatenate_dw[2] = g_assDTG_R_AMB_Y2_LV5[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector1' */ rtb_VectorConcatenate_pg[0] = g_assDTG_R_AMB_X1_LV5[rtb_DataTypeConversion1_nc - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch2' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_pg[1] = 0; /* MultiPortSwitch: '/Multiport Switch2' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' */ rtb_VectorConcatenate_pg[2] = g_assDTG_R_AMB_X2_LV0[rtb_DataTypeConversion1_nc - 1]; break; case 1: /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' */ rtb_VectorConcatenate_pg[2] = g_assDTG_R_AMB_X2_LV1[rtb_DataTypeConversion1_nc - 1]; break; case 2: /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' */ rtb_VectorConcatenate_pg[2] = g_assDTG_R_AMB_X2_LV2[rtb_DataTypeConversion1_nc - 1]; break; case 3: /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' */ rtb_VectorConcatenate_pg[2] = g_assDTG_R_AMB_X2_LV3[rtb_DataTypeConversion1_nc - 1]; break; case 4: /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' */ rtb_VectorConcatenate_pg[2] = g_assDTG_R_AMB_X2_LV4[rtb_DataTypeConversion1_nc - 1]; break; default: /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' */ rtb_VectorConcatenate_pg[2] = g_assDTG_R_AMB_X2_LV5[rtb_DataTypeConversion1_nc - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch2' */ /* Lookup_n-D: '/2.6 FLU_tg_amb' */ rtb_u6FLU_tg_amb_d = look1_is16lu64n32Ds32_binlcn(rtb_DataTypeConversion1_gq, rtb_VectorConcatenate_pg, rtb_VectorConcatenate_dw, 2U); /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_gn[0] = 0; /* MultiPortSwitch: '/Multiport Switch1' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector' incorporates: * Constant: '/Constant' */ rtb_VectorConcatenate_gn[1] = g_assDTG_R_SUN_Y1_LV0[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assDTG_R_SUN_Y2_LV0[rtb_DataTypeConversion1_nc - 1]; break; case 1: /* Selector: '/Selector' incorporates: * Constant: '/Constant1' */ rtb_VectorConcatenate_gn[1] = g_assDTG_R_SUN_Y1_LV1[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assDTG_R_SUN_Y2_LV1[rtb_DataTypeConversion1_nc - 1]; break; case 2: /* Selector: '/Selector' incorporates: * Constant: '/Constant2' */ rtb_VectorConcatenate_gn[1] = g_assDTG_R_SUN_Y1_LV2[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assDTG_R_SUN_Y2_LV2[rtb_DataTypeConversion1_nc - 1]; break; case 3: /* Selector: '/Selector' incorporates: * Constant: '/Constant3' */ rtb_VectorConcatenate_gn[1] = g_assDTG_R_SUN_Y1_LV3[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assDTG_R_SUN_Y2_LV3[rtb_DataTypeConversion1_nc - 1]; break; case 4: /* Selector: '/Selector' incorporates: * Constant: '/Constant4' */ rtb_VectorConcatenate_gn[1] = g_assDTG_R_SUN_Y1_LV4[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assDTG_R_SUN_Y2_LV4[rtb_DataTypeConversion1_nc - 1]; break; default: /* Selector: '/Selector' incorporates: * Constant: '/Constant5' */ rtb_VectorConcatenate_gn[1] = g_assDTG_R_SUN_Y1_LV5[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assDTG_R_SUN_Y2_LV5[rtb_DataTypeConversion1_nc - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_np[0] = 0; /* MultiPortSwitch: '/Multiport Switch1' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector' incorporates: * Constant: '/Constant' */ rtb_VectorConcatenate_np[1] = g_assDTG_FU_SUN_X1_LV0[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assDTG_FU_SUN_X2_LV0[rtb_DataTypeConversion1_nc - 1]; break; case 1: /* Selector: '/Selector' incorporates: * Constant: '/Constant1' */ rtb_VectorConcatenate_np[1] = g_assDTG_FU_SUN_X1_LV1[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assDTG_FU_SUN_X2_LV1[rtb_DataTypeConversion1_nc - 1]; break; case 2: /* Selector: '/Selector' incorporates: * Constant: '/Constant2' */ rtb_VectorConcatenate_np[1] = g_assDTG_FU_SUN_X1_LV2[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assDTG_FU_SUN_X2_LV2[rtb_DataTypeConversion1_nc - 1]; break; case 3: /* Selector: '/Selector' incorporates: * Constant: '/Constant3' */ rtb_VectorConcatenate_np[1] = g_assDTG_FU_SUN_X1_LV3[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assDTG_FU_SUN_X2_LV3[rtb_DataTypeConversion1_nc - 1]; break; case 4: /* Selector: '/Selector' incorporates: * Constant: '/Constant4' */ rtb_VectorConcatenate_np[1] = g_assDTG_FU_SUN_X1_LV4[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assDTG_FU_SUN_X2_LV4[rtb_DataTypeConversion1_nc - 1]; break; default: /* Selector: '/Selector' incorporates: * Constant: '/Constant5' */ rtb_VectorConcatenate_np[1] = g_assDTG_FU_SUN_X1_LV5[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assDTG_FU_SUN_X2_LV5[rtb_DataTypeConversion1_nc - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* Lookup_n-D: '/2.6 FLU_tg_amb' incorporates: * DataStoreRead: '/Data Store Read26' */ rtb_u6FLU_tg_amb_n = look1_bs16ts16Dd_binlc(rtDW.Sun_L, rtb_VectorConcatenate_np, rtb_VectorConcatenate_gn, 2U); /* Sum: '/FLU_tg_correct' */ rtb_Merge_b = (int16_t)((int16_t)((int16_t)(rtb_MultiportSwitch_cn + rtb_u5R_tg_incar) + rtb_u6FLU_tg_amb_d) + rtb_u6FLU_tg_amb_n); /* Switch: '/Switch2' incorporates: * DataStoreWrite: '/Data Store Write2' * RelationalOperator: '/LowerRelop1' * Selector: '/Selector' */ if (rtb_Merge_b > rtb_uDLookupTable7_g[rtb_DataTypeConversion1_nc - 1]) { rtb_Merge_b = rtb_uDLookupTable7_g[rtb_DataTypeConversion1_nc - 1]; } else { /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * Constant: '/Constant2' * Constant: '/Constant3' * Constant: '/Constant4' * Constant: '/Constant5' */ switch (rtb_timer_out) { case 0: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_R_MIN_LV0[i]; } break; case 1: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_R_MIN_LV1[i]; } break; case 2: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_R_MIN_LV2[i]; } break; case 3: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_R_MIN_LV3[i]; } break; case 4: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_R_MIN_LV4[i]; } break; default: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_R_MIN_LV5[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* Selector: '/Selector' */ rtb_Switch2_nb = rtb_uDLookupTable7_g[rtb_DataTypeConversion1_nc - 1]; /* Switch: '/Switch' incorporates: * DataStoreWrite: '/Data Store Write2' * RelationalOperator: '/UpperRelop' * Selector: '/Selector' */ if (rtb_Merge_b < rtb_Switch2_nb) { rtb_Merge_b = rtb_Switch2_nb; } /* End of Switch: '/Switch' */ } /* End of Switch: '/Switch2' */ /* Switch: '/Switch2' incorporates: * Constant: '/Constant12' * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read76' */ if (rtDW.CCU_AC_MAX > 0) { rtb_Gain2 = 5; } else { rtb_Gain2 = rtDW.CCU_AUTOMODE_RL; } /* MATLAB Function: '/func g_assAUTO_STEP_DUCT_TG_R' incorporates: * DataStoreRead: '/Data Store Read20' * Switch: '/Switch2' */ funcg_assAUTO_STEP_DUCT_TG_R(rtDW.LEVEL, (double)rtb_Gain2, &rtb_y_hg); /* Switch: '/Switch15' incorporates: * Constant: '/manual' * Constant: '/Constant' * Constant: '/Constant' * Constant: '/Constant' * Constant: '/Constant' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read44' * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write4' * If: '/If' * Logic: '/Logical Operator' * RelationalOperator: '/Equal1' * RelationalOperator: '/Compare' * RelationalOperator: '/Compare' * RelationalOperator: '/Compare' * Switch: '/Switch' */ if (rtDW.LO_HI_MODE_RL > 1) { rtb_Merge_b = 800; } else if (rtDW.CCU_MODE_RL == 0) { /* If: '/If' incorporates: * Constant: '/Constant' * Constant: '/Constant' * Constant: '/Constant' * DataStoreRead: '/Data Store Read' * Logic: '/Logical Operator' * RelationalOperator: '/Compare' * RelationalOperator: '/Compare' * RelationalOperator: '/Compare' */ if ((rtDW.step_start_controle_rear == 0) || (rtDW.step_start_controle_rear == 1) || (rtDW.step_start_controle_rear == 2)) { /* Outputs for IfAction SubSystem: '/If Action Subsystem' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write4' incorporates: * DataStoreRead: '/dtg from Start Control' * DataTypeConversion: '/Data Type Conversion' * Switch: '/Switch' */ rtb_Merge_b = (int16_t)rtDW.Dtg_RL; /* End of Outputs for SubSystem: '/If Action Subsystem' */ } } else { if ((rtDW.step_start_controle_rear == 0) || (rtDW.step_start_controle_rear == 1) || (rtDW.step_start_controle_rear == 2)) { /* Outputs for IfAction SubSystem: '/If Action Subsystem' incorporates: * ActionPort: '/Action Port' */ /* If: '/If' incorporates: * DataStoreRead: '/dtg from Start Control' * DataTypeConversion: '/Data Type Conversion' */ rtb_Merge_b = (int16_t)rtDW.Dtg_RL; /* End of Outputs for SubSystem: '/If Action Subsystem' */ } /* If: '/If' incorporates: * DataStoreWrite: '/Data Store Write4' * Sum: '/Add' * Switch: '/Switch' */ rtb_Merge_b += rtb_y_hg; } /* End of Switch: '/Switch15' */ /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * Constant: '/Constant2' * Constant: '/Constant3' * Constant: '/Constant4' * Constant: '/Constant5' */ switch (rtb_timer_out) { case 0: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_R_MAX_LV0[i]; } break; case 1: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_R_MAX_LV1[i]; } break; case 2: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_R_MAX_LV2[i]; } break; case 3: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_R_MAX_LV3[i]; } break; case 4: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_R_MAX_LV4[i]; } break; default: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_R_MAX_LV5[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* Saturate: '/Saturation3' incorporates: * DataStoreRead: '/Data Store Read19' */ if (rtDW.CCU_SET_RR > 290) { rtb_Saturation2_a = 290U; } else if (rtDW.CCU_SET_RR < 170) { rtb_Saturation2_a = 170U; } else { rtb_Saturation2_a = rtDW.CCU_SET_RR; } /* End of Saturate: '/Saturation3' */ /* Gain: '/Gain1' incorporates: * Bias: '/Bias' * DataTypeConversion: '/Data Type Conversion2' * Gain: '/Gain2' * Gain: '/Gain' */ rtb_Gain2 = ((int32_t)((52429U * rtb_Saturation2_a) >> 19) + -15) << 14; /* DataTypeConversion: '/Data Type Conversion1' incorporates: * Gain: '/Gain2' * Saturate: '/Saturation' */ rtb_DataTypeConversion1_nc = (uint8_t)((((uint32_t)rtb_Gain2 & 16384U) != 0U) + (rtb_Gain2 >> 15)); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table' * Lookup_n-D: '/1-D Lookup Table1' * Lookup_n-D: '/1-D Lookup Table2' * Lookup_n-D: '/1-D Lookup Table3' * Lookup_n-D: '/1-D Lookup Table4' * Lookup_n-D: '/1-D Lookup Table5' * Saturate: '/Saturation3' */ switch (rtb_timer_out) { case 0: rtb_MultiportSwitch_az = look1_iu16lu64n48ts16Ds32_binlcs(rtb_Saturation2_a, rtConstP.pooled81, &g_assTG_RR_LV0[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table' * Lookup_n-D: '/1-D Lookup Table' * Saturate: '/Saturation3' */ rtb_MultiportSwitch_cq = look1_iu16bs16lu64n32ts16Ds32_binlcs (rtb_Saturation2_a, rtConstP.pooled54, &g_assINCAR_TG_RR_LV0[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch1' */ rtb_VectorConcatenate_by[0] = g_assDTG_R_INC_Y1_LV0[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_by[1] = g_assDTG_R_INC_Y2_LV0[rtb_DataTypeConversion1_nc - 1]; break; case 1: rtb_MultiportSwitch_az = look1_iu16lu64n48ts16Ds32_binlcs(rtb_Saturation2_a, rtConstP.pooled81, &g_assTG_RR_LV1[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table1' * Lookup_n-D: '/1-D Lookup Table1' * Saturate: '/Saturation3' */ rtb_MultiportSwitch_cq = look1_iu16bs16lu64n32ts16Ds32_binlcs (rtb_Saturation2_a, rtConstP.pooled54, &g_assINCAR_TG_RR_LV1[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * MultiPortSwitch: '/Multiport Switch1' */ rtb_VectorConcatenate_by[0] = g_assDTG_R_INC_Y1_LV1[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_by[1] = g_assDTG_R_INC_Y2_LV1[rtb_DataTypeConversion1_nc - 1]; break; case 2: rtb_MultiportSwitch_az = look1_iu16lu64n48ts16Ds32_binlcs(rtb_Saturation2_a, rtConstP.pooled81, &g_assTG_RR_LV2[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table2' * Lookup_n-D: '/1-D Lookup Table2' * Saturate: '/Saturation3' */ rtb_MultiportSwitch_cq = look1_iu16bs16lu64n32ts16Ds32_binlcs (rtb_Saturation2_a, rtConstP.pooled54, &g_assINCAR_TG_RR_LV2[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * MultiPortSwitch: '/Multiport Switch1' */ rtb_VectorConcatenate_by[0] = g_assDTG_R_INC_Y1_LV2[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_by[1] = g_assDTG_R_INC_Y2_LV2[rtb_DataTypeConversion1_nc - 1]; break; case 3: rtb_MultiportSwitch_az = look1_iu16lu64n48ts16Ds32_binlcs(rtb_Saturation2_a, rtConstP.pooled81, &g_assTG_RR_LV3[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table3' * Lookup_n-D: '/1-D Lookup Table3' * Saturate: '/Saturation3' */ rtb_MultiportSwitch_cq = look1_iu16bs16lu64n32ts16Ds32_binlcs (rtb_Saturation2_a, rtConstP.pooled54, &g_assINCAR_TG_RR_LV3[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * MultiPortSwitch: '/Multiport Switch1' */ rtb_VectorConcatenate_by[0] = g_assDTG_R_INC_Y1_LV3[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_by[1] = g_assDTG_R_INC_Y2_LV3[rtb_DataTypeConversion1_nc - 1]; break; case 4: rtb_MultiportSwitch_az = look1_iu16lu64n48ts16Ds32_binlcs(rtb_Saturation2_a, rtConstP.pooled81, &g_assTG_RR_LV4[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table4' * Lookup_n-D: '/1-D Lookup Table4' * Saturate: '/Saturation3' */ rtb_MultiportSwitch_cq = look1_iu16bs16lu64n32ts16Ds32_binlcs (rtb_Saturation2_a, rtConstP.pooled54, &g_assINCAR_TG_RR_LV4[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * MultiPortSwitch: '/Multiport Switch1' */ rtb_VectorConcatenate_by[0] = g_assDTG_R_INC_Y1_LV4[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_by[1] = g_assDTG_R_INC_Y2_LV4[rtb_DataTypeConversion1_nc - 1]; break; default: rtb_MultiportSwitch_az = look1_iu16lu64n48ts16Ds32_binlcs(rtb_Saturation2_a, rtConstP.pooled81, &g_assTG_RR_LV5[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table5' * Lookup_n-D: '/1-D Lookup Table5' * Saturate: '/Saturation3' */ rtb_MultiportSwitch_cq = look1_iu16bs16lu64n32ts16Ds32_binlcs (rtb_Saturation2_a, rtConstP.pooled54, &g_assINCAR_TG_RR_LV5[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * MultiPortSwitch: '/Multiport Switch1' */ rtb_VectorConcatenate_by[0] = g_assDTG_R_INC_Y1_LV5[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_by[1] = g_assDTG_R_INC_Y2_LV5[rtb_DataTypeConversion1_nc - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_by[2] = 0; /* MultiPortSwitch: '/Multiport Switch3' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector2' incorporates: * Constant: '/Constant14' */ rtb_VectorConcatenate_by[3] = g_assDTG_R_INC_Y3_LV0[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant20' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_by[4] = g_assDTG_R_INC_Y4_LV0[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[0] = g_assDTG_R_INC_X1_LV0[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[1] = g_assDTG_R_INC_X2_LV0[rtb_DataTypeConversion1_nc - 1]; break; case 1: /* Selector: '/Selector2' incorporates: * Constant: '/Constant15' */ rtb_VectorConcatenate_by[3] = g_assDTG_R_INC_Y3_LV1[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant21' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_by[4] = g_assDTG_R_INC_Y4_LV1[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[0] = g_assDTG_R_INC_X1_LV1[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[1] = g_assDTG_R_INC_X2_LV1[rtb_DataTypeConversion1_nc - 1]; break; case 2: /* Selector: '/Selector2' incorporates: * Constant: '/Constant16' */ rtb_VectorConcatenate_by[3] = g_assDTG_R_INC_Y3_LV2[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant22' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_by[4] = g_assDTG_R_INC_Y4_LV2[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[0] = g_assDTG_R_INC_X1_LV2[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[1] = g_assDTG_R_INC_X2_LV2[rtb_DataTypeConversion1_nc - 1]; break; case 3: /* Selector: '/Selector2' incorporates: * Constant: '/Constant17' */ rtb_VectorConcatenate_by[3] = g_assDTG_R_INC_Y3_LV3[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant23' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_by[4] = g_assDTG_R_INC_Y4_LV3[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[0] = g_assDTG_R_INC_X1_LV3[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[1] = g_assDTG_R_INC_X2_LV3[rtb_DataTypeConversion1_nc - 1]; break; case 4: /* Selector: '/Selector2' incorporates: * Constant: '/Constant12' */ rtb_VectorConcatenate_by[3] = g_assDTG_R_INC_Y3_LV4[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant18' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_by[4] = g_assDTG_R_INC_Y4_LV4[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[0] = g_assDTG_R_INC_X1_LV4[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[1] = g_assDTG_R_INC_X2_LV4[rtb_DataTypeConversion1_nc - 1]; break; default: /* Selector: '/Selector2' incorporates: * Constant: '/Constant13' */ rtb_VectorConcatenate_by[3] = g_assDTG_R_INC_Y3_LV5[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant19' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_by[4] = g_assDTG_R_INC_Y4_LV5[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[0] = g_assDTG_R_INC_X1_LV5[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[1] = g_assDTG_R_INC_X2_LV5[rtb_DataTypeConversion1_nc - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch3' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_kz[2] = 0; /* MultiPortSwitch: '/Multiport Switch3' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector2' incorporates: * Constant: '/Constant14' */ rtb_VectorConcatenate_kz[3] = g_assDTG_R_INC_X3_LV0[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant20' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[4] = g_assDTG_R_INC_X4_LV0[rtb_DataTypeConversion1_nc - 1]; break; case 1: /* Selector: '/Selector2' incorporates: * Constant: '/Constant15' */ rtb_VectorConcatenate_kz[3] = g_assDTG_R_INC_X3_LV1[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant21' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[4] = g_assDTG_R_INC_X4_LV1[rtb_DataTypeConversion1_nc - 1]; break; case 2: /* Selector: '/Selector2' incorporates: * Constant: '/Constant16' */ rtb_VectorConcatenate_kz[3] = g_assDTG_R_INC_X3_LV2[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant22' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[4] = g_assDTG_R_INC_X4_LV2[rtb_DataTypeConversion1_nc - 1]; break; case 3: /* Selector: '/Selector2' incorporates: * Constant: '/Constant17' */ rtb_VectorConcatenate_kz[3] = g_assDTG_R_INC_X3_LV3[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant23' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[4] = g_assDTG_R_INC_X4_LV3[rtb_DataTypeConversion1_nc - 1]; break; case 4: /* Selector: '/Selector2' incorporates: * Constant: '/Constant12' */ rtb_VectorConcatenate_kz[3] = g_assDTG_R_INC_X3_LV4[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant18' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[4] = g_assDTG_R_INC_X4_LV4[rtb_DataTypeConversion1_nc - 1]; break; default: /* Selector: '/Selector2' incorporates: * Constant: '/Constant13' */ rtb_VectorConcatenate_kz[3] = g_assDTG_R_INC_X3_LV5[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant19' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_kz[4] = g_assDTG_R_INC_X4_LV5[rtb_DataTypeConversion1_nc - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch3' */ /* Lookup_n-D: '/2.5 FLU_tg_incar' incorporates: * DataStoreRead: '/Data Store Read24' * Sum: '/2.5. X = Inc_Tg - Incar_fb' */ rtb_X = look1_is16lu64n32Ds32_binlcn((int16_t)(rtb_MultiportSwitch_cq - rtDW.Incar_RR), rtb_VectorConcatenate_kz, rtb_VectorConcatenate_by, 4U); /* MultiPortSwitch: '/Multiport Switch1' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector' incorporates: * Constant: '/Constant' */ rtb_VectorConcatenate_dw[0] = g_assDTG_R_AMB_Y1_LV0[rtb_DataTypeConversion1_nc - 1]; break; case 1: /* Selector: '/Selector' incorporates: * Constant: '/Constant1' */ rtb_VectorConcatenate_dw[0] = g_assDTG_R_AMB_Y1_LV1[rtb_DataTypeConversion1_nc - 1]; break; case 2: /* Selector: '/Selector' incorporates: * Constant: '/Constant2' */ rtb_VectorConcatenate_dw[0] = g_assDTG_R_AMB_Y1_LV2[rtb_DataTypeConversion1_nc - 1]; break; case 3: /* Selector: '/Selector' incorporates: * Constant: '/Constant3' */ rtb_VectorConcatenate_dw[0] = g_assDTG_R_AMB_Y1_LV3[rtb_DataTypeConversion1_nc - 1]; break; case 4: /* Selector: '/Selector' incorporates: * Constant: '/Constant4' */ rtb_VectorConcatenate_dw[0] = g_assDTG_R_AMB_Y1_LV4[rtb_DataTypeConversion1_nc - 1]; break; default: /* Selector: '/Selector' incorporates: * Constant: '/Constant5' */ rtb_VectorConcatenate_dw[0] = g_assDTG_R_AMB_Y1_LV5[rtb_DataTypeConversion1_nc - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_dw[1] = 0; /* MultiPortSwitch: '/Multiport Switch2' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' */ rtb_VectorConcatenate_dw[2] = g_assDTG_R_AMB_Y2_LV0[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector1' */ rtb_VectorConcatenate_pg[0] = g_assDTG_R_AMB_X1_LV0[rtb_DataTypeConversion1_nc - 1]; break; case 1: /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' */ rtb_VectorConcatenate_dw[2] = g_assDTG_R_AMB_Y2_LV1[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector1' */ rtb_VectorConcatenate_pg[0] = g_assDTG_R_AMB_X1_LV1[rtb_DataTypeConversion1_nc - 1]; break; case 2: /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' */ rtb_VectorConcatenate_dw[2] = g_assDTG_R_AMB_Y2_LV2[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector1' */ rtb_VectorConcatenate_pg[0] = g_assDTG_R_AMB_X1_LV2[rtb_DataTypeConversion1_nc - 1]; break; case 3: /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' */ rtb_VectorConcatenate_dw[2] = g_assDTG_R_AMB_Y2_LV3[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector1' */ rtb_VectorConcatenate_pg[0] = g_assDTG_R_AMB_X1_LV3[rtb_DataTypeConversion1_nc - 1]; break; case 4: /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' */ rtb_VectorConcatenate_dw[2] = g_assDTG_R_AMB_Y2_LV4[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector1' */ rtb_VectorConcatenate_pg[0] = g_assDTG_R_AMB_X1_LV4[rtb_DataTypeConversion1_nc - 1]; break; default: /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' */ rtb_VectorConcatenate_dw[2] = g_assDTG_R_AMB_Y2_LV5[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector1' */ rtb_VectorConcatenate_pg[0] = g_assDTG_R_AMB_X1_LV5[rtb_DataTypeConversion1_nc - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch2' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_pg[1] = 0; /* MultiPortSwitch: '/Multiport Switch2' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' */ rtb_VectorConcatenate_pg[2] = g_assDTG_R_AMB_X2_LV0[rtb_DataTypeConversion1_nc - 1]; break; case 1: /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' */ rtb_VectorConcatenate_pg[2] = g_assDTG_R_AMB_X2_LV1[rtb_DataTypeConversion1_nc - 1]; break; case 2: /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' */ rtb_VectorConcatenate_pg[2] = g_assDTG_R_AMB_X2_LV2[rtb_DataTypeConversion1_nc - 1]; break; case 3: /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' */ rtb_VectorConcatenate_pg[2] = g_assDTG_R_AMB_X2_LV3[rtb_DataTypeConversion1_nc - 1]; break; case 4: /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' */ rtb_VectorConcatenate_pg[2] = g_assDTG_R_AMB_X2_LV4[rtb_DataTypeConversion1_nc - 1]; break; default: /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' */ rtb_VectorConcatenate_pg[2] = g_assDTG_R_AMB_X2_LV5[rtb_DataTypeConversion1_nc - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch2' */ /* Lookup_n-D: '/2.6 FLU_tg_amb' */ rtb_MultiportSwitch_if = look1_is16lu64n32Ds32_binlcn (rtb_DataTypeConversion1_gq, rtb_VectorConcatenate_pg, rtb_VectorConcatenate_dw, 2U); /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_gn[0] = 0; /* MultiPortSwitch: '/Multiport Switch1' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector' incorporates: * Constant: '/Constant' */ rtb_VectorConcatenate_gn[1] = g_assDTG_R_SUN_Y1_LV0[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assDTG_R_SUN_Y2_LV0[rtb_DataTypeConversion1_nc - 1]; break; case 1: /* Selector: '/Selector' incorporates: * Constant: '/Constant1' */ rtb_VectorConcatenate_gn[1] = g_assDTG_R_SUN_Y1_LV1[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assDTG_R_SUN_Y2_LV1[rtb_DataTypeConversion1_nc - 1]; break; case 2: /* Selector: '/Selector' incorporates: * Constant: '/Constant2' */ rtb_VectorConcatenate_gn[1] = g_assDTG_R_SUN_Y1_LV2[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assDTG_R_SUN_Y2_LV2[rtb_DataTypeConversion1_nc - 1]; break; case 3: /* Selector: '/Selector' incorporates: * Constant: '/Constant3' */ rtb_VectorConcatenate_gn[1] = g_assDTG_R_SUN_Y1_LV3[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assDTG_R_SUN_Y2_LV3[rtb_DataTypeConversion1_nc - 1]; break; case 4: /* Selector: '/Selector' incorporates: * Constant: '/Constant4' */ rtb_VectorConcatenate_gn[1] = g_assDTG_R_SUN_Y1_LV4[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assDTG_R_SUN_Y2_LV4[rtb_DataTypeConversion1_nc - 1]; break; default: /* Selector: '/Selector' incorporates: * Constant: '/Constant5' */ rtb_VectorConcatenate_gn[1] = g_assDTG_R_SUN_Y1_LV5[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assDTG_R_SUN_Y2_LV5[rtb_DataTypeConversion1_nc - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_np[0] = 0; /* MultiPortSwitch: '/Multiport Switch1' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector' incorporates: * Constant: '/Constant' */ rtb_VectorConcatenate_np[1] = g_assDTG_FU_SUN_X1_LV0[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assDTG_FU_SUN_X2_LV0[rtb_DataTypeConversion1_nc - 1]; break; case 1: /* Selector: '/Selector' incorporates: * Constant: '/Constant1' */ rtb_VectorConcatenate_np[1] = g_assDTG_FU_SUN_X1_LV1[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assDTG_FU_SUN_X2_LV1[rtb_DataTypeConversion1_nc - 1]; break; case 2: /* Selector: '/Selector' incorporates: * Constant: '/Constant2' */ rtb_VectorConcatenate_np[1] = g_assDTG_FU_SUN_X1_LV2[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assDTG_FU_SUN_X2_LV2[rtb_DataTypeConversion1_nc - 1]; break; case 3: /* Selector: '/Selector' incorporates: * Constant: '/Constant3' */ rtb_VectorConcatenate_np[1] = g_assDTG_FU_SUN_X1_LV3[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assDTG_FU_SUN_X2_LV3[rtb_DataTypeConversion1_nc - 1]; break; case 4: /* Selector: '/Selector' incorporates: * Constant: '/Constant4' */ rtb_VectorConcatenate_np[1] = g_assDTG_FU_SUN_X1_LV4[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assDTG_FU_SUN_X2_LV4[rtb_DataTypeConversion1_nc - 1]; break; default: /* Selector: '/Selector' incorporates: * Constant: '/Constant5' */ rtb_VectorConcatenate_np[1] = g_assDTG_FU_SUN_X1_LV5[rtb_DataTypeConversion1_nc - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assDTG_FU_SUN_X2_LV5[rtb_DataTypeConversion1_nc - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* Lookup_n-D: '/2.6 FLU_tg_amb' incorporates: * DataStoreRead: '/Data Store Read27' */ rtb_u6FLU_tg_amb_a3 = look1_bs16ts16Dd_binlc(rtDW.Sun_R, rtb_VectorConcatenate_np, rtb_VectorConcatenate_gn, 2U); /* Sum: '/FLU_tg_correct' */ rtb_y_hg = (int16_t)((int16_t)((int16_t)(rtb_MultiportSwitch_az + rtb_X) + rtb_MultiportSwitch_if) + rtb_u6FLU_tg_amb_a3); /* Switch: '/Switch2' incorporates: * RelationalOperator: '/LowerRelop1' * Selector: '/Selector' */ if (rtb_y_hg > rtb_uDLookupTable7_g[rtb_DataTypeConversion1_nc - 1]) { rtb_y_hg = rtb_uDLookupTable7_g[rtb_DataTypeConversion1_nc - 1]; } else { /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * Constant: '/Constant2' * Constant: '/Constant3' * Constant: '/Constant4' * Constant: '/Constant5' */ switch (rtb_timer_out) { case 0: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_R_MIN_LV0[i]; } break; case 1: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_R_MIN_LV1[i]; } break; case 2: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_R_MIN_LV2[i]; } break; case 3: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_R_MIN_LV3[i]; } break; case 4: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_R_MIN_LV4[i]; } break; default: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_R_MIN_LV5[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* Selector: '/Selector' */ rtb_Switch2_nb = rtb_uDLookupTable7_g[rtb_DataTypeConversion1_nc - 1]; /* Switch: '/Switch' incorporates: * RelationalOperator: '/UpperRelop' * Selector: '/Selector' */ if (rtb_y_hg < rtb_Switch2_nb) { rtb_y_hg = rtb_Switch2_nb; } /* End of Switch: '/Switch' */ } /* End of Switch: '/Switch2' */ /* Switch: '/Switch2' incorporates: * Constant: '/Constant12' * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read76' */ if (rtDW.CCU_AC_MAX > 0) { rtb_Gain2 = 5; } else { rtb_Gain2 = rtDW.CCU_AUTOMODE_RR; } /* MATLAB Function: '/func g_assAUTO_STEP_DUCT_TG_R' incorporates: * DataStoreRead: '/Data Store Read20' * Switch: '/Switch2' */ funcg_assAUTO_STEP_DUCT_TG_R(rtDW.LEVEL, (double)rtb_Gain2, &rtb_y_n); /* Switch: '/Switch' incorporates: * Constant: '/manual' * DataStoreRead: '/Data Store Read46' * DataStoreWrite: '/Data Store Write3' * RelationalOperator: '/Equal1' * Sum: '/Add' */ if (rtDW.CCU_MODE_RR != 0) { rtb_y_hg += rtb_y_n; } /* End of Switch: '/Switch' */ /* Switch: '/Switch15' incorporates: * Constant: '/Constant' * Constant: '/Constant' * Constant: '/Constant' * Constant: '/Constant' * DataStoreRead: '/Data Store Read44' * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write5' * DataStoreWrite: '/Data Store Write3' * If: '/If' * Logic: '/Logical Operator' * RelationalOperator: '/Compare' * RelationalOperator: '/Compare' * RelationalOperator: '/Compare' * SignalConversion generated from: '/dtg' */ if (rtDW.LO_HI_MODE_RR > 1) { rtDW.Duct_RR_Tg = 800; } else if ((rtDW.step_start_controle_rear == 0) || (rtDW.step_start_controle_rear == 1) || (rtDW.step_start_controle_rear == 2)) { /* Outputs for IfAction SubSystem: '/If Action Subsystem' incorporates: * ActionPort: '/Action Port' */ /* If: '/If' incorporates: * DataStoreRead: '/dtg from Start Control' * DataStoreWrite: '/Data Store Write5' * DataTypeConversion: '/Data Type Conversion' */ rtDW.Duct_RR_Tg = (int16_t)rtDW.Dtg_RR; /* End of Outputs for SubSystem: '/If Action Subsystem' */ } else { /* Outputs for IfAction SubSystem: '/If Action Subsystem1' incorporates: * ActionPort: '/Action Port' */ rtDW.Duct_RR_Tg = rtb_y_hg; /* End of Outputs for SubSystem: '/If Action Subsystem1' */ } /* End of Switch: '/Switch15' */ /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * Constant: '/Constant2' * Constant: '/Constant3' * Constant: '/Constant4' * Constant: '/Constant5' */ switch (rtb_timer_out) { case 0: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MAX_LV0[i]; } /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/Constant' * Lookup_n-D: '/1-D Lookup Table' * Saturate: '/Saturation' */ rtb_u6FLU_tg_amb_g = look1_iu16bs16lu64n32ts16Ds32_binlcs(rtb_Saturation_as, rtConstP.pooled54, &g_assTG_FLL_LV0[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table' * Saturate: '/Saturation' */ rtb_u5FLU_tg_incar_i = look1_iu16bs16lu64n32ts16Ds32_binlcs (rtb_Saturation_as, rtConstP.pooled54, &g_assINCAR_TG_FL_LV0[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_by[0] = g_assDTG_FL_INC_Y1_LV0[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_by[1] = g_assDTG_FL_INC_Y2_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MAX_LV1[i]; } /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/Constant1' * Lookup_n-D: '/1-D Lookup Table1' * Saturate: '/Saturation' */ rtb_u6FLU_tg_amb_g = look1_iu16bs16lu64n32ts16Ds32_binlcs(rtb_Saturation_as, rtConstP.pooled54, &g_assTG_FLL_LV1[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table1' * Saturate: '/Saturation' */ rtb_u5FLU_tg_incar_i = look1_iu16bs16lu64n32ts16Ds32_binlcs (rtb_Saturation_as, rtConstP.pooled54, &g_assINCAR_TG_FL_LV1[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_by[0] = g_assDTG_FL_INC_Y1_LV1[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_by[1] = g_assDTG_FL_INC_Y2_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MAX_LV2[i]; } /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/Constant2' * Lookup_n-D: '/1-D Lookup Table2' * Saturate: '/Saturation' */ rtb_u6FLU_tg_amb_g = look1_iu16bs16lu64n32ts16Ds32_binlcs(rtb_Saturation_as, rtConstP.pooled54, &g_assTG_FLL_LV2[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table2' * Saturate: '/Saturation' */ rtb_u5FLU_tg_incar_i = look1_iu16bs16lu64n32ts16Ds32_binlcs (rtb_Saturation_as, rtConstP.pooled54, &g_assINCAR_TG_FL_LV2[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_by[0] = g_assDTG_FL_INC_Y1_LV2[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_by[1] = g_assDTG_FL_INC_Y2_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MAX_LV3[i]; } /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/Constant3' * Lookup_n-D: '/1-D Lookup Table3' * Saturate: '/Saturation' */ rtb_u6FLU_tg_amb_g = look1_iu16bs16lu64n32ts16Ds32_binlcs(rtb_Saturation_as, rtConstP.pooled54, &g_assTG_FLL_LV3[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table3' * Saturate: '/Saturation' */ rtb_u5FLU_tg_incar_i = look1_iu16bs16lu64n32ts16Ds32_binlcs (rtb_Saturation_as, rtConstP.pooled54, &g_assINCAR_TG_FL_LV3[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_by[0] = g_assDTG_FL_INC_Y1_LV3[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_by[1] = g_assDTG_FL_INC_Y2_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MAX_LV4[i]; } /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/Constant4' * Lookup_n-D: '/1-D Lookup Table4' * Saturate: '/Saturation' */ rtb_u6FLU_tg_amb_g = look1_iu16bs16lu64n32ts16Ds32_binlcs(rtb_Saturation_as, rtConstP.pooled54, &g_assTG_FLL_LV4[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table4' * Saturate: '/Saturation' */ rtb_u5FLU_tg_incar_i = look1_iu16bs16lu64n32ts16Ds32_binlcs (rtb_Saturation_as, rtConstP.pooled54, &g_assINCAR_TG_FL_LV4[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_by[0] = g_assDTG_FL_INC_Y1_LV4[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_by[1] = g_assDTG_FL_INC_Y2_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MAX_LV5[i]; } /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/Constant5' * Lookup_n-D: '/1-D Lookup Table5' * Saturate: '/Saturation' */ rtb_u6FLU_tg_amb_g = look1_iu16bs16lu64n32ts16Ds32_binlcs(rtb_Saturation_as, rtConstP.pooled54, &g_assTG_FLL_LV5[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table5' * Saturate: '/Saturation' */ rtb_u5FLU_tg_incar_i = look1_iu16bs16lu64n32ts16Ds32_binlcs (rtb_Saturation_as, rtConstP.pooled54, &g_assINCAR_TG_FL_LV5[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_by[0] = g_assDTG_FL_INC_Y1_LV5[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_by[1] = g_assDTG_FL_INC_Y2_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_by[2] = 0; /* MultiPortSwitch: '/Multiport Switch3' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector2' incorporates: * Constant: '/Constant14' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_by[3] = g_assDTG_FL_INC_Y3_LV0[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant20' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_by[4] = g_assDTG_FL_INC_Y4_LV0[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[0] = g_assDTG_FU_INC_X1_LV0[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[1] = g_assDTG_FU_INC_X2_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: /* Selector: '/Selector2' incorporates: * Constant: '/Constant15' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_by[3] = g_assDTG_FL_INC_Y3_LV1[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant21' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_by[4] = g_assDTG_FL_INC_Y4_LV1[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[0] = g_assDTG_FU_INC_X1_LV1[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[1] = g_assDTG_FU_INC_X2_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: /* Selector: '/Selector2' incorporates: * Constant: '/Constant16' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_by[3] = g_assDTG_FL_INC_Y3_LV2[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant22' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_by[4] = g_assDTG_FL_INC_Y4_LV2[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[0] = g_assDTG_FU_INC_X1_LV2[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[1] = g_assDTG_FU_INC_X2_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: /* Selector: '/Selector2' incorporates: * Constant: '/Constant17' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_by[3] = g_assDTG_FL_INC_Y3_LV3[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant23' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_by[4] = g_assDTG_FL_INC_Y4_LV3[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[0] = g_assDTG_FU_INC_X1_LV3[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[1] = g_assDTG_FU_INC_X2_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: /* Selector: '/Selector2' incorporates: * Constant: '/Constant12' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_by[3] = g_assDTG_FL_INC_Y3_LV4[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant18' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_by[4] = g_assDTG_FL_INC_Y4_LV4[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[0] = g_assDTG_FU_INC_X1_LV4[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[1] = g_assDTG_FU_INC_X2_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: /* Selector: '/Selector2' incorporates: * Constant: '/Constant13' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_by[3] = g_assDTG_FL_INC_Y3_LV5[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant19' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_by[4] = g_assDTG_FL_INC_Y4_LV5[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[0] = g_assDTG_FU_INC_X1_LV5[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[1] = g_assDTG_FU_INC_X2_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch3' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_kz[2] = 0; /* MultiPortSwitch: '/Multiport Switch3' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector2' incorporates: * Constant: '/Constant14' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[3] = g_assDTG_FU_INC_X3_LV0[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant20' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[4] = g_assDTG_FU_INC_X4_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: /* Selector: '/Selector2' incorporates: * Constant: '/Constant15' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[3] = g_assDTG_FU_INC_X3_LV1[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant21' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[4] = g_assDTG_FU_INC_X4_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: /* Selector: '/Selector2' incorporates: * Constant: '/Constant16' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[3] = g_assDTG_FU_INC_X3_LV2[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant22' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[4] = g_assDTG_FU_INC_X4_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: /* Selector: '/Selector2' incorporates: * Constant: '/Constant17' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[3] = g_assDTG_FU_INC_X3_LV3[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant23' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[4] = g_assDTG_FU_INC_X4_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: /* Selector: '/Selector2' incorporates: * Constant: '/Constant12' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[3] = g_assDTG_FU_INC_X3_LV4[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant18' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[4] = g_assDTG_FU_INC_X4_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: /* Selector: '/Selector2' incorporates: * Constant: '/Constant13' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[3] = g_assDTG_FU_INC_X3_LV5[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant19' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[4] = g_assDTG_FU_INC_X4_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch3' */ /* Lookup_n-D: '/2.5 FLL_tg_incar' incorporates: * DataStoreRead: '/Data Store Read21' * Sum: '/2.5. X = Inc_Tg - Incar_fb' */ rtb_MultiportSwitch_ac = look1_is16lu64n32Ds32_binlcn((int16_t) (rtb_u5FLU_tg_incar_i - rtDW.Incar_FL), rtb_VectorConcatenate_kz, rtb_VectorConcatenate_by, 4U); /* MultiPortSwitch: '/Multiport Switch1' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector' incorporates: * Constant: '/Constant' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[0] = g_assDTG_FL_AMB_Y1_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[0] = g_assDTG_FL_AMB_Y1_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[0] = g_assDTG_FL_AMB_Y1_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[0] = g_assDTG_FL_AMB_Y1_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[0] = g_assDTG_FL_AMB_Y1_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[0] = g_assDTG_FL_AMB_Y1_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_dw[1] = 0; /* MultiPortSwitch: '/Multiport Switch2' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[2] = g_assDTG_FL_AMB_Y2_LV0[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[0] = g_assDTG_FL_AMB_X1_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[2] = g_assDTG_FL_AMB_Y2_LV1[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[0] = g_assDTG_FL_AMB_X1_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[2] = g_assDTG_FL_AMB_Y2_LV2[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[0] = g_assDTG_FL_AMB_X1_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[2] = g_assDTG_FL_AMB_Y2_LV3[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[0] = g_assDTG_FL_AMB_X1_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[2] = g_assDTG_FL_AMB_Y2_LV4[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[0] = g_assDTG_FL_AMB_X1_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[2] = g_assDTG_FL_AMB_Y2_LV5[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[0] = g_assDTG_FL_AMB_X1_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch2' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_pg[1] = 0; /* MultiPortSwitch: '/Multiport Switch2' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[2] = g_assDTG_FL_AMB_X2_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[2] = g_assDTG_FL_AMB_X2_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[2] = g_assDTG_FL_AMB_X2_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[2] = g_assDTG_FL_AMB_X2_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[2] = g_assDTG_FL_AMB_X2_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[2] = g_assDTG_FL_AMB_X2_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch2' */ /* Lookup_n-D: '/2.6 FLL_tg_amb' */ rtb_MultiportSwitch1_g = look1_is16lu64n32Ds32_binlcn (rtb_DataTypeConversion1_gq, rtb_VectorConcatenate_pg, rtb_VectorConcatenate_dw, 2U); /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_gn[0] = 0; /* MultiPortSwitch: '/Multiport Switch1' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector' incorporates: * Constant: '/Constant' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[1] = g_assDTG_FL_SUN_Y1_LV0[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assDTG_FL_SUN_Y2_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[1] = g_assDTG_FL_SUN_Y1_LV1[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assDTG_FL_SUN_Y2_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[1] = g_assDTG_FL_SUN_Y1_LV2[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assDTG_FL_SUN_Y2_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[1] = g_assDTG_FL_SUN_Y1_LV3[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assDTG_FL_SUN_Y2_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[1] = g_assDTG_FL_SUN_Y1_LV4[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assDTG_FL_SUN_Y2_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[1] = g_assDTG_FL_SUN_Y1_LV5[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assDTG_FL_SUN_Y2_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_np[0] = 0; /* MultiPortSwitch: '/Multiport Switch1' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector' incorporates: * Constant: '/Constant' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_np[1] = g_assDTG_FL_SUN_X1_LV0[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assDTG_FL_SUN_X2_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_np[1] = g_assDTG_FL_SUN_X1_LV1[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assDTG_FL_SUN_X2_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_np[1] = g_assDTG_FL_SUN_X1_LV2[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assDTG_FL_SUN_X2_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_np[1] = g_assDTG_FL_SUN_X1_LV3[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assDTG_FL_SUN_X2_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_np[1] = g_assDTG_FL_SUN_X1_LV4[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assDTG_FL_SUN_X2_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_VectorConcatenate_np[1] = g_assDTG_FL_SUN_X1_LV5[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * DataTypeConversion: '/Data Type Conversion1' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assDTG_FL_SUN_X2_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* Lookup_n-D: '/2.6 FLL_tg_amb' incorporates: * DataStoreRead: '/Data Store Read26' */ rtb_Bias3 = look1_bs16ts16Dd_binlc(rtDW.Sun_L, rtb_VectorConcatenate_np, rtb_VectorConcatenate_gn, 2U); /* Sum: '/FLU_tg_correct' */ rtb_y_n = (int16_t)((int16_t)((int16_t)(rtb_u6FLU_tg_amb_g + rtb_MultiportSwitch_ac) + rtb_MultiportSwitch1_g) + rtb_Bias3); /* Switch: '/Switch2' incorporates: * DataTypeConversion: '/Data Type Conversion1' * RelationalOperator: '/LowerRelop1' * Selector: '/Selector' * Selector: '/Selector' */ if (rtb_y_n > rtb_uDLookupTable7_g[rtb_DataTypeConversion3_l4 - 1]) { rtb_y_n = rtb_uDLookupTable7_g[rtb_DataTypeConversion3_l4 - 1]; } else { /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * Constant: '/Constant2' * Constant: '/Constant3' * Constant: '/Constant4' * Constant: '/Constant5' */ switch (rtb_timer_out) { case 0: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MIN_LV0[i]; } break; case 1: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MIN_LV1[i]; } break; case 2: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MIN_LV2[i]; } break; case 3: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MIN_LV3[i]; } break; case 4: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MIN_LV4[i]; } break; default: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MIN_LV5[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* Selector: '/Selector' */ rtb_Switch2_nb = rtb_uDLookupTable7_g[rtb_DataTypeConversion3_l4 - 1]; /* Switch: '/Switch' incorporates: * RelationalOperator: '/UpperRelop' * Selector: '/Selector' */ if (rtb_y_n < rtb_Switch2_nb) { rtb_y_n = rtb_Switch2_nb; } /* End of Switch: '/Switch' */ } /* End of Switch: '/Switch2' */ /* Switch: '/Switch2' incorporates: * Constant: '/Constant12' * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read76' */ if (rtDW.CCU_AC_MAX > 0) { rtb_Gain2 = 5; } else { rtb_Gain2 = rtDW.CCU_AUTOMODE_FL; } /* MATLAB Function: '/func g_assAUTO_STEP_DUCT_TG_L' incorporates: * DataStoreRead: '/Data Store Read20' * Switch: '/Switch2' */ funcg_assAUTO_STEP_DUCT_TG_L(rtDW.LEVEL, (double)rtb_Gain2, &rtb_y_ds); /* Switch: '/Switch' incorporates: * Constant: '/manual' * DataStoreRead: '/Data Store Read46' * DataStoreWrite: '/Data Store Write4' * RelationalOperator: '/Equal1' * Sum: '/Add' */ if (rtDW.CCU_MODE_FL != 0) { rtb_y_n += rtb_y_ds; } /* End of Switch: '/Switch' */ /* Switch: '/Switch15' incorporates: * Constant: '/Constant' * Constant: '/Constant' * Constant: '/Constant' * Constant: '/Constant' * DataStoreRead: '/Data Store Read44' * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write6' * If: '/If' * Logic: '/Logical Operator' * RelationalOperator: '/Compare' * RelationalOperator: '/Compare' * RelationalOperator: '/Compare' */ if (rtDW.LO_HI_MODE_FL > 1) { rtb_y_ds = 800; } else { if ((rtDW.step_start_controle_front == 0) || (rtDW.step_start_controle_front == 1) || (rtDW.step_start_controle_front == 2)) { /* Outputs for IfAction SubSystem: '/If Action Subsystem' incorporates: * ActionPort: '/Action Port' */ /* If: '/If' incorporates: * DataStoreRead: '/mode from Start Control' * DataTypeConversion: '/Data Type Conversion' */ rtb_Switch2_nb = (int16_t)rtDW.Dtg_FLL; /* End of Outputs for SubSystem: '/If Action Subsystem' */ } else { /* Outputs for IfAction SubSystem: '/If Action Subsystem1' incorporates: * ActionPort: '/Action Port' */ /* If: '/If' incorporates: * DataStoreWrite: '/Data Store Write4' * SignalConversion generated from: '/FXU' */ rtb_Switch2_nb = rtb_y_n; /* End of Outputs for SubSystem: '/If Action Subsystem1' */ } /* If: '/If' incorporates: * DataStoreRead: '/Data Store Read2' * Sum: '/Sum' */ rtb_y_ds = (int16_t)(rtb_Switch2_nb + rtDW.Dtg_individual_foot_FL); /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant1' * Constant: '/Constant13' * Constant: '/Constant14' * Constant: '/Constant15' * Constant: '/Constant16' * Constant: '/Constant17' */ switch (rtb_timer_out) { case 0: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MAX_LV0[i]; } break; case 1: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MAX_LV1[i]; } break; case 2: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MAX_LV2[i]; } break; case 3: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MAX_LV3[i]; } break; case 4: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MAX_LV4[i]; } break; default: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MAX_LV5[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* Selector: '/Selector' incorporates: * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_Switch2_nb = rtb_uDLookupTable7_g[(uint8_t)index_start_0 - 1]; /* Switch: '/Switch2' incorporates: * RelationalOperator: '/LowerRelop1' * Selector: '/Selector' */ if (rtb_y_ds > rtb_Switch2_nb) { /* DataStoreWrite: '/Data Store Write6' */ rtb_y_ds = rtb_Switch2_nb; } else { /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/Constant' * Constant: '/Constant2' * Constant: '/Constant3' * Constant: '/Constant4' * Constant: '/Constant5' * Constant: '/Constant6' */ switch (rtb_timer_out) { case 0: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MIN_LV0[i]; } break; case 1: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MIN_LV1[i]; } break; case 2: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MIN_LV2[i]; } break; case 3: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MIN_LV3[i]; } break; case 4: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MIN_LV4[i]; } break; default: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MIN_LV5[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* Selector: '/Selector1' incorporates: * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_Switch2_nb = rtb_uDLookupTable7_g[(uint8_t)index_start_0 - 1]; /* Switch: '/Switch' incorporates: * RelationalOperator: '/UpperRelop' * Selector: '/Selector1' */ if (rtb_y_ds < rtb_Switch2_nb) { /* DataStoreWrite: '/Data Store Write6' */ rtb_y_ds = rtb_Switch2_nb; } /* End of Switch: '/Switch' */ } /* End of Switch: '/Switch2' */ } /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * Constant: '/Constant2' * Constant: '/Constant3' * Constant: '/Constant4' * Constant: '/Constant5' */ switch (rtb_timer_out) { case 0: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MAX_LV0[i]; } break; case 1: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MAX_LV1[i]; } break; case 2: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MAX_LV2[i]; } break; case 3: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MAX_LV3[i]; } break; case 4: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MAX_LV4[i]; } break; default: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MAX_LV5[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* Selector: '/Selector' incorporates: * DataTypeConversion: '/Data Type Conversion2' * Selector: '/Selector' */ rtb_y_he = rtb_uDLookupTable7_g[rtb_Switch1_j - 1]; /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table' * Lookup_n-D: '/1-D Lookup Table1' * Lookup_n-D: '/1-D Lookup Table2' * Lookup_n-D: '/1-D Lookup Table3' * Lookup_n-D: '/1-D Lookup Table4' * Lookup_n-D: '/1-D Lookup Table5' * Saturate: '/Saturation1' */ switch (rtb_timer_out) { case 0: rtb_Bias2_n = look1_iu16bs16lu64n32ts16Ds32_binlcs(Gain1, rtConstP.pooled54, &g_assTG_FRL_LV0[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table' * Lookup_n-D: '/1-D Lookup Table' * Saturate: '/Saturation1' */ rtb_Bias4 = look1_iu16bs16lu64n32ts16Ds32_binlcs(Gain1, rtConstP.pooled54, &g_assINCAR_TG_FR_LV0[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_by[0] = g_assDTG_FL_INC_Y1_LV0[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_by[1] = g_assDTG_FL_INC_Y2_LV0[rtb_Switch1_j - 1]; break; case 1: rtb_Bias2_n = look1_iu16bs16lu64n32ts16Ds32_binlcs(Gain1, rtConstP.pooled54, &g_assTG_FRL_LV1[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table1' * Lookup_n-D: '/1-D Lookup Table1' * Saturate: '/Saturation1' */ rtb_Bias4 = look1_iu16bs16lu64n32ts16Ds32_binlcs(Gain1, rtConstP.pooled54, &g_assINCAR_TG_FR_LV1[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_by[0] = g_assDTG_FL_INC_Y1_LV1[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_by[1] = g_assDTG_FL_INC_Y2_LV1[rtb_Switch1_j - 1]; break; case 2: rtb_Bias2_n = look1_iu16bs16lu64n32ts16Ds32_binlcs(Gain1, rtConstP.pooled54, &g_assTG_FRL_LV2[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table2' * Lookup_n-D: '/1-D Lookup Table2' * Saturate: '/Saturation1' */ rtb_Bias4 = look1_iu16bs16lu64n32ts16Ds32_binlcs(Gain1, rtConstP.pooled54, &g_assINCAR_TG_FR_LV2[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_by[0] = g_assDTG_FL_INC_Y1_LV2[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_by[1] = g_assDTG_FL_INC_Y2_LV2[rtb_Switch1_j - 1]; break; case 3: rtb_Bias2_n = look1_iu16bs16lu64n32ts16Ds32_binlcs(Gain1, rtConstP.pooled54, &g_assTG_FRL_LV3[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table3' * Lookup_n-D: '/1-D Lookup Table3' * Saturate: '/Saturation1' */ rtb_Bias4 = look1_iu16bs16lu64n32ts16Ds32_binlcs(Gain1, rtConstP.pooled54, &g_assINCAR_TG_FR_LV3[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_by[0] = g_assDTG_FL_INC_Y1_LV3[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_by[1] = g_assDTG_FL_INC_Y2_LV3[rtb_Switch1_j - 1]; break; case 4: rtb_Bias2_n = look1_iu16bs16lu64n32ts16Ds32_binlcs(Gain1, rtConstP.pooled54, &g_assTG_FRL_LV4[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table4' * Lookup_n-D: '/1-D Lookup Table4' * Saturate: '/Saturation1' */ rtb_Bias4 = look1_iu16bs16lu64n32ts16Ds32_binlcs(Gain1, rtConstP.pooled54, &g_assINCAR_TG_FR_LV4[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_by[0] = g_assDTG_FL_INC_Y1_LV4[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_by[1] = g_assDTG_FL_INC_Y2_LV4[rtb_Switch1_j - 1]; break; default: rtb_Bias2_n = look1_iu16bs16lu64n32ts16Ds32_binlcs(Gain1, rtConstP.pooled54, &g_assTG_FRL_LV5[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table5' * Lookup_n-D: '/1-D Lookup Table5' * Saturate: '/Saturation1' */ rtb_Bias4 = look1_iu16bs16lu64n32ts16Ds32_binlcs(Gain1, rtConstP.pooled54, &g_assINCAR_TG_FR_LV5[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_by[0] = g_assDTG_FL_INC_Y1_LV5[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_by[1] = g_assDTG_FL_INC_Y2_LV5[rtb_Switch1_j - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_by[2] = 0; /* MultiPortSwitch: '/Multiport Switch3' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector2' incorporates: * Constant: '/Constant14' * DataTypeConversion: '/Data Type Conversion2' * Selector: '/Selector' */ rtb_VectorConcatenate_by[3] = g_assDTG_FL_INC_Y3_LV0[rtb_Switch1_j - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant20' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_by[4] = g_assDTG_FL_INC_Y4_LV0[rtb_Switch1_j - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[0] = g_assDTG_FU_INC_X1_LV0[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[1] = g_assDTG_FU_INC_X2_LV0[rtb_Switch1_j - 1]; break; case 1: /* Selector: '/Selector2' incorporates: * Constant: '/Constant15' * DataTypeConversion: '/Data Type Conversion2' * Selector: '/Selector' */ rtb_VectorConcatenate_by[3] = g_assDTG_FL_INC_Y3_LV1[rtb_Switch1_j - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant21' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_by[4] = g_assDTG_FL_INC_Y4_LV1[rtb_Switch1_j - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[0] = g_assDTG_FU_INC_X1_LV1[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[1] = g_assDTG_FU_INC_X2_LV1[rtb_Switch1_j - 1]; break; case 2: /* Selector: '/Selector2' incorporates: * Constant: '/Constant16' * DataTypeConversion: '/Data Type Conversion2' * Selector: '/Selector' */ rtb_VectorConcatenate_by[3] = g_assDTG_FL_INC_Y3_LV2[rtb_Switch1_j - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant22' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_by[4] = g_assDTG_FL_INC_Y4_LV2[rtb_Switch1_j - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[0] = g_assDTG_FU_INC_X1_LV2[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[1] = g_assDTG_FU_INC_X2_LV2[rtb_Switch1_j - 1]; break; case 3: /* Selector: '/Selector2' incorporates: * Constant: '/Constant17' * DataTypeConversion: '/Data Type Conversion2' * Selector: '/Selector' */ rtb_VectorConcatenate_by[3] = g_assDTG_FL_INC_Y3_LV3[rtb_Switch1_j - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant23' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_by[4] = g_assDTG_FL_INC_Y4_LV3[rtb_Switch1_j - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[0] = g_assDTG_FU_INC_X1_LV3[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[1] = g_assDTG_FU_INC_X2_LV3[rtb_Switch1_j - 1]; break; case 4: /* Selector: '/Selector2' incorporates: * Constant: '/Constant12' * DataTypeConversion: '/Data Type Conversion2' * Selector: '/Selector' */ rtb_VectorConcatenate_by[3] = g_assDTG_FL_INC_Y3_LV4[rtb_Switch1_j - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant18' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_by[4] = g_assDTG_FL_INC_Y4_LV4[rtb_Switch1_j - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[0] = g_assDTG_FU_INC_X1_LV4[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[1] = g_assDTG_FU_INC_X2_LV4[rtb_Switch1_j - 1]; break; default: /* Selector: '/Selector2' incorporates: * Constant: '/Constant13' * DataTypeConversion: '/Data Type Conversion2' * Selector: '/Selector' */ rtb_VectorConcatenate_by[3] = g_assDTG_FL_INC_Y3_LV5[rtb_Switch1_j - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant19' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_by[4] = g_assDTG_FL_INC_Y4_LV5[rtb_Switch1_j - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[0] = g_assDTG_FU_INC_X1_LV5[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[1] = g_assDTG_FU_INC_X2_LV5[rtb_Switch1_j - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch3' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_kz[2] = 0; /* MultiPortSwitch: '/Multiport Switch3' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector2' incorporates: * Constant: '/Constant14' * DataTypeConversion: '/Data Type Conversion2' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[3] = g_assDTG_FU_INC_X3_LV0[rtb_Switch1_j - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant20' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[4] = g_assDTG_FU_INC_X4_LV0[rtb_Switch1_j - 1]; break; case 1: /* Selector: '/Selector2' incorporates: * Constant: '/Constant15' * DataTypeConversion: '/Data Type Conversion2' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[3] = g_assDTG_FU_INC_X3_LV1[rtb_Switch1_j - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant21' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[4] = g_assDTG_FU_INC_X4_LV1[rtb_Switch1_j - 1]; break; case 2: /* Selector: '/Selector2' incorporates: * Constant: '/Constant16' * DataTypeConversion: '/Data Type Conversion2' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[3] = g_assDTG_FU_INC_X3_LV2[rtb_Switch1_j - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant22' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[4] = g_assDTG_FU_INC_X4_LV2[rtb_Switch1_j - 1]; break; case 3: /* Selector: '/Selector2' incorporates: * Constant: '/Constant17' * DataTypeConversion: '/Data Type Conversion2' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[3] = g_assDTG_FU_INC_X3_LV3[rtb_Switch1_j - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant23' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[4] = g_assDTG_FU_INC_X4_LV3[rtb_Switch1_j - 1]; break; case 4: /* Selector: '/Selector2' incorporates: * Constant: '/Constant12' * DataTypeConversion: '/Data Type Conversion2' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[3] = g_assDTG_FU_INC_X3_LV4[rtb_Switch1_j - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant18' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[4] = g_assDTG_FU_INC_X4_LV4[rtb_Switch1_j - 1]; break; default: /* Selector: '/Selector2' incorporates: * Constant: '/Constant13' * DataTypeConversion: '/Data Type Conversion2' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[3] = g_assDTG_FU_INC_X3_LV5[rtb_Switch1_j - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant19' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_kz[4] = g_assDTG_FU_INC_X4_LV5[rtb_Switch1_j - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch3' */ /* Lookup_n-D: '/2.5 FRL_tg_incar' incorporates: * DataStoreRead: '/Data Store Read22' * Sum: '/2.5. X = Inc_Tg - Incar_fb' */ rtb_Bias1_h = look1_is16lu64n32Ds32_binlcn((int16_t)(rtb_Bias4 - rtDW.Incar_FR), rtb_VectorConcatenate_kz, rtb_VectorConcatenate_by, 4U); /* MultiPortSwitch: '/Multiport Switch1' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector' incorporates: * Constant: '/Constant' * DataTypeConversion: '/Data Type Conversion2' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[0] = g_assDTG_FL_AMB_Y1_LV0[rtb_Switch1_j - 1]; break; case 1: /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * DataTypeConversion: '/Data Type Conversion2' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[0] = g_assDTG_FL_AMB_Y1_LV1[rtb_Switch1_j - 1]; break; case 2: /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * DataTypeConversion: '/Data Type Conversion2' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[0] = g_assDTG_FL_AMB_Y1_LV2[rtb_Switch1_j - 1]; break; case 3: /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * DataTypeConversion: '/Data Type Conversion2' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[0] = g_assDTG_FL_AMB_Y1_LV3[rtb_Switch1_j - 1]; break; case 4: /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * DataTypeConversion: '/Data Type Conversion2' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[0] = g_assDTG_FL_AMB_Y1_LV4[rtb_Switch1_j - 1]; break; default: /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * DataTypeConversion: '/Data Type Conversion2' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[0] = g_assDTG_FL_AMB_Y1_LV5[rtb_Switch1_j - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_dw[1] = 0; /* MultiPortSwitch: '/Multiport Switch2' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * DataTypeConversion: '/Data Type Conversion2' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[2] = g_assDTG_FL_AMB_Y2_LV0[rtb_Switch1_j - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[0] = g_assDTG_FL_AMB_X1_LV0[rtb_Switch1_j - 1]; break; case 1: /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * DataTypeConversion: '/Data Type Conversion2' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[2] = g_assDTG_FL_AMB_Y2_LV1[rtb_Switch1_j - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[0] = g_assDTG_FL_AMB_X1_LV1[rtb_Switch1_j - 1]; break; case 2: /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * DataTypeConversion: '/Data Type Conversion2' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[2] = g_assDTG_FL_AMB_Y2_LV2[rtb_Switch1_j - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[0] = g_assDTG_FL_AMB_X1_LV2[rtb_Switch1_j - 1]; break; case 3: /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * DataTypeConversion: '/Data Type Conversion2' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[2] = g_assDTG_FL_AMB_Y2_LV3[rtb_Switch1_j - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[0] = g_assDTG_FL_AMB_X1_LV3[rtb_Switch1_j - 1]; break; case 4: /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * DataTypeConversion: '/Data Type Conversion2' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[2] = g_assDTG_FL_AMB_Y2_LV4[rtb_Switch1_j - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[0] = g_assDTG_FL_AMB_X1_LV4[rtb_Switch1_j - 1]; break; default: /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * DataTypeConversion: '/Data Type Conversion2' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[2] = g_assDTG_FL_AMB_Y2_LV5[rtb_Switch1_j - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[0] = g_assDTG_FL_AMB_X1_LV5[rtb_Switch1_j - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch2' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_pg[1] = 0; /* MultiPortSwitch: '/Multiport Switch2' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * DataTypeConversion: '/Data Type Conversion2' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[2] = g_assDTG_FL_AMB_X2_LV0[rtb_Switch1_j - 1]; break; case 1: /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * DataTypeConversion: '/Data Type Conversion2' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[2] = g_assDTG_FL_AMB_X2_LV1[rtb_Switch1_j - 1]; break; case 2: /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * DataTypeConversion: '/Data Type Conversion2' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[2] = g_assDTG_FL_AMB_X2_LV2[rtb_Switch1_j - 1]; break; case 3: /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * DataTypeConversion: '/Data Type Conversion2' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[2] = g_assDTG_FL_AMB_X2_LV3[rtb_Switch1_j - 1]; break; case 4: /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * DataTypeConversion: '/Data Type Conversion2' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[2] = g_assDTG_FL_AMB_X2_LV4[rtb_Switch1_j - 1]; break; default: /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * DataTypeConversion: '/Data Type Conversion2' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[2] = g_assDTG_FL_AMB_X2_LV5[rtb_Switch1_j - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch2' */ /* Lookup_n-D: '/2.6 FLL_tg_amb' */ rtb_DataTypeConversion1_gq = look1_is16lu64n32Ds32_binlcn (rtb_DataTypeConversion1_gq, rtb_VectorConcatenate_pg, rtb_VectorConcatenate_dw, 2U); /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_gn[0] = 0; /* MultiPortSwitch: '/Multiport Switch1' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector' incorporates: * Constant: '/Constant' * DataTypeConversion: '/Data Type Conversion2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[1] = g_assDTG_FL_SUN_Y1_LV0[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assDTG_FL_SUN_Y2_LV0[rtb_Switch1_j - 1]; break; case 1: /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * DataTypeConversion: '/Data Type Conversion2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[1] = g_assDTG_FL_SUN_Y1_LV1[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assDTG_FL_SUN_Y2_LV1[rtb_Switch1_j - 1]; break; case 2: /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * DataTypeConversion: '/Data Type Conversion2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[1] = g_assDTG_FL_SUN_Y1_LV2[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assDTG_FL_SUN_Y2_LV2[rtb_Switch1_j - 1]; break; case 3: /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * DataTypeConversion: '/Data Type Conversion2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[1] = g_assDTG_FL_SUN_Y1_LV3[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assDTG_FL_SUN_Y2_LV3[rtb_Switch1_j - 1]; break; case 4: /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * DataTypeConversion: '/Data Type Conversion2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[1] = g_assDTG_FL_SUN_Y1_LV4[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assDTG_FL_SUN_Y2_LV4[rtb_Switch1_j - 1]; break; default: /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * DataTypeConversion: '/Data Type Conversion2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[1] = g_assDTG_FL_SUN_Y1_LV5[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assDTG_FL_SUN_Y2_LV5[rtb_Switch1_j - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_np[0] = 0; /* MultiPortSwitch: '/Multiport Switch1' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector' incorporates: * Constant: '/Constant' * DataTypeConversion: '/Data Type Conversion2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[1] = g_assDTG_FL_SUN_X1_LV0[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assDTG_FL_SUN_X2_LV0[rtb_Switch1_j - 1]; break; case 1: /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * DataTypeConversion: '/Data Type Conversion2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[1] = g_assDTG_FL_SUN_X1_LV1[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assDTG_FL_SUN_X2_LV1[rtb_Switch1_j - 1]; break; case 2: /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * DataTypeConversion: '/Data Type Conversion2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[1] = g_assDTG_FL_SUN_X1_LV2[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assDTG_FL_SUN_X2_LV2[rtb_Switch1_j - 1]; break; case 3: /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * DataTypeConversion: '/Data Type Conversion2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[1] = g_assDTG_FL_SUN_X1_LV3[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assDTG_FL_SUN_X2_LV3[rtb_Switch1_j - 1]; break; case 4: /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * DataTypeConversion: '/Data Type Conversion2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[1] = g_assDTG_FL_SUN_X1_LV4[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assDTG_FL_SUN_X2_LV4[rtb_Switch1_j - 1]; break; default: /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * DataTypeConversion: '/Data Type Conversion2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[1] = g_assDTG_FL_SUN_X1_LV5[rtb_Switch1_j - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * DataTypeConversion: '/Data Type Conversion2' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assDTG_FL_SUN_X2_LV5[rtb_Switch1_j - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* Lookup_n-D: '/2.6 FLL_tg_amb' incorporates: * DataStoreRead: '/Data Store Read27' */ rtb_DataTypeConversion_dl = look1_bs16ts16Dd_binlc(rtDW.Sun_R, rtb_VectorConcatenate_np, rtb_VectorConcatenate_gn, 2U); /* Sum: '/FLU_tg_correct' */ rtb_FLU_tg_correct_ot = (int16_t)((int16_t)((int16_t)(rtb_Bias2_n + rtb_Bias1_h) + rtb_DataTypeConversion1_gq) + rtb_DataTypeConversion_dl); /* Switch: '/Switch2' incorporates: * DataTypeConversion: '/Data Type Conversion2' * RelationalOperator: '/LowerRelop1' * Selector: '/Selector' * Selector: '/Selector' */ if (rtb_FLU_tg_correct_ot > rtb_y_he) { rtb_FLU_tg_correct_ot = rtb_uDLookupTable7_g[rtb_Switch1_j - 1]; } else { /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * Constant: '/Constant2' * Constant: '/Constant3' * Constant: '/Constant4' * Constant: '/Constant5' */ switch (rtb_timer_out) { case 0: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MIN_LV0[i]; } break; case 1: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MIN_LV1[i]; } break; case 2: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MIN_LV2[i]; } break; case 3: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MIN_LV3[i]; } break; case 4: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MIN_LV4[i]; } break; default: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MIN_LV5[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* Selector: '/Selector' incorporates: * DataTypeConversion: '/Data Type Conversion2' * Selector: '/Selector' */ rtb_Switch2_nb = rtb_uDLookupTable7_g[rtb_Switch1_j - 1]; /* Switch: '/Switch' incorporates: * RelationalOperator: '/UpperRelop' * Selector: '/Selector' */ if (rtb_FLU_tg_correct_ot < rtb_Switch2_nb) { rtb_FLU_tg_correct_ot = rtb_Switch2_nb; } /* End of Switch: '/Switch' */ } /* End of Switch: '/Switch2' */ /* Switch: '/Switch2' incorporates: * Constant: '/Constant12' * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read76' */ if (rtDW.CCU_AC_MAX > 0) { rtb_Gain2 = 5; } else { rtb_Gain2 = rtDW.CCU_AUTOMODE_FR; } /* MATLAB Function: '/func g_assAUTO_STEP_DUCT_TG_L' incorporates: * DataStoreRead: '/Data Store Read20' * Switch: '/Switch2' */ funcg_assAUTO_STEP_DUCT_TG_L(rtDW.LEVEL, (double)rtb_Gain2, &rtb_y_he); /* Switch: '/Switch15' incorporates: * Constant: '/manual' * Constant: '/Constant' * Constant: '/Constant' * Constant: '/Constant' * Constant: '/Constant' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read44' * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write7' * If: '/If' * Logic: '/Logical Operator' * RelationalOperator: '/Equal1' * RelationalOperator: '/Compare' * RelationalOperator: '/Compare' * RelationalOperator: '/Compare' * Switch: '/Switch' */ if (rtDW.LO_HI_MODE_FR > 1) { rtb_y_he = 800; } else { if ((rtDW.step_start_controle_front == 0) || (rtDW.step_start_controle_front == 1) || (rtDW.step_start_controle_front == 2)) { /* Outputs for IfAction SubSystem: '/If Action Subsystem' incorporates: * ActionPort: '/Action Port' */ /* If: '/If' incorporates: * DataStoreRead: '/mode from Start Control' * DataTypeConversion: '/Data Type Conversion' */ rtb_FLU_tg_correct_ot = (int16_t)rtDW.Dtg_FLR; /* End of Outputs for SubSystem: '/If Action Subsystem' */ } else if (rtDW.CCU_MODE_FR != 0) { /* If: '/If' incorporates: * Sum: '/Add' * Switch: '/Switch' */ rtb_FLU_tg_correct_ot += rtb_y_he; } /* If: '/If' incorporates: * Constant: '/manual' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read2' * RelationalOperator: '/Equal1' * Sum: '/Sum' * Switch: '/Switch' */ rtb_y_he = (int16_t)(rtb_FLU_tg_correct_ot + rtDW.Dtg_individual_foot_FR); /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant1' * Constant: '/Constant13' * Constant: '/Constant14' * Constant: '/Constant15' * Constant: '/Constant16' * Constant: '/Constant17' */ switch (rtb_timer_out) { case 0: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MAX_LV0[i]; } break; case 1: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MAX_LV1[i]; } break; case 2: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MAX_LV2[i]; } break; case 3: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MAX_LV3[i]; } break; case 4: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MAX_LV4[i]; } break; default: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MAX_LV5[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* Selector: '/Selector' incorporates: * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_Switch2_nb = rtb_uDLookupTable7_g[(uint8_t)index_start_0 - 1]; /* Switch: '/Switch2' incorporates: * RelationalOperator: '/LowerRelop1' * Selector: '/Selector' */ if (rtb_y_he > rtb_Switch2_nb) { /* DataStoreWrite: '/Data Store Write7' */ rtb_y_he = rtb_Switch2_nb; } else { /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/Constant' * Constant: '/Constant2' * Constant: '/Constant3' * Constant: '/Constant4' * Constant: '/Constant5' * Constant: '/Constant6' */ switch (rtb_timer_out) { case 0: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MIN_LV0[i]; } break; case 1: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MIN_LV1[i]; } break; case 2: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MIN_LV2[i]; } break; case 3: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MIN_LV3[i]; } break; case 4: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MIN_LV4[i]; } break; default: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assDTG_FL_MIN_LV5[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* Selector: '/Selector1' incorporates: * DataTypeConversion: '/Data Type Conversion1' * Selector: '/Selector' */ rtb_Switch2_nb = rtb_uDLookupTable7_g[(uint8_t)index_start_0 - 1]; /* Switch: '/Switch' incorporates: * RelationalOperator: '/UpperRelop' * Selector: '/Selector1' */ if (rtb_y_he < rtb_Switch2_nb) { /* DataStoreWrite: '/Data Store Write7' */ rtb_y_he = rtb_Switch2_nb; } /* End of Switch: '/Switch' */ } /* End of Switch: '/Switch2' */ } /* SignalConversion generated from: '/Vector Concatenate' */ rtb_VectorConcatenate_kz[0] = rtb_u6FLU_tg_amb_g; /* SignalConversion generated from: '/Vector Concatenate' */ rtb_VectorConcatenate_kz[1] = rtb_MultiportSwitch_ac; /* SignalConversion generated from: '/Vector Concatenate' */ rtb_VectorConcatenate_kz[2] = rtb_MultiportSwitch1_g; /* SignalConversion generated from: '/Vector Concatenate' */ rtb_VectorConcatenate_kz[3] = rtb_Bias3; /* SignalConversion generated from: '/Vector Concatenate' */ rtb_VectorConcatenate_kz[4] = rtb_u5FLU_tg_incar_i; /* SignalConversion generated from: '/Vector Concatenate' */ rtb_VectorConcatenate_by[0] = rtb_Bias2_n; /* SignalConversion generated from: '/Vector Concatenate' */ rtb_VectorConcatenate_by[1] = rtb_Bias1_h; /* SignalConversion generated from: '/Vector Concatenate' */ rtb_VectorConcatenate_by[2] = rtb_DataTypeConversion1_gq; /* SignalConversion generated from: '/Vector Concatenate' */ rtb_VectorConcatenate_by[3] = rtb_DataTypeConversion_dl; /* SignalConversion generated from: '/Vector Concatenate' */ rtb_VectorConcatenate_by[4] = rtb_Bias4; /* SignalConversion generated from: '/Vector Concatenate' */ rtb_VectorConcatenate_jn[0] = rtb_MultiportSwitch_az; /* SignalConversion generated from: '/Vector Concatenate' */ rtb_VectorConcatenate_jn[1] = rtb_X; /* SignalConversion generated from: '/Vector Concatenate' */ rtb_VectorConcatenate_jn[2] = rtb_MultiportSwitch_if; /* SignalConversion generated from: '/Vector Concatenate' */ rtb_VectorConcatenate_jn[3] = rtb_u6FLU_tg_amb_a3; /* SignalConversion generated from: '/Vector Concatenate' */ rtb_VectorConcatenate_jn[4] = rtb_MultiportSwitch_cq; /* SignalConversion generated from: '/Vector Concatenate' */ rtb_VectorConcatenate_lb[0] = rtb_MultiportSwitch_ks; /* SignalConversion generated from: '/Vector Concatenate' */ rtb_VectorConcatenate_lb[1] = rtb_u5FRU_tg_incar; /* SignalConversion generated from: '/Vector Concatenate' */ rtb_VectorConcatenate_lb[2] = rtb_u6FRU_tg_amb_f; /* SignalConversion generated from: '/Vector Concatenate' */ rtb_VectorConcatenate_lb[3] = rtb_u6FRU_tg_amb; /* SignalConversion generated from: '/Vector Concatenate' */ rtb_VectorConcatenate_lb[4] = rtb_MultiportSwitch_oa; for (i = 0; i < 5; i++) { /* DataStoreWrite: '/Data Store Write' */ Duct_RR_Tg_DBG[i] = rtb_VectorConcatenate_jn[i]; /* DataStoreWrite: '/Data Store Write' */ Duct_FRU_Tg_DBG[i] = rtb_VectorConcatenate_lb[i]; } /* MATLAB Function: '/is_ending_with_5' */ is_ending_with_5(rtb_Saturation_as, &rtb_LogicalOperator_fc); /* MATLAB Function: '/correction rate' incorporates: * Gain: '/Gain2' */ /* : correct_after_time = [g_assCORRECT_DUCT_MAX_LV0; g_assCORRECT_DUCT_MAX_LV1; g_assCORRECT_DUCT_MAX_LV2; g_assCORRECT_DUCT_MAX_LV3; g_assCORRECT_DUCT_MAX_LV4; g_assCORRECT_DUCT_MAX_LV5]; */ /* : y = correct_after_time(LVL + 1, idivide(SET - 16 + 1, 2)); */ correctionrate((int16_t)(rtb_dt_nx + (uint32_t)((rtb_Subtract & 262144U) != 0U)), rtb_timer_out, &rtb_u6FLU_tg_amb_a3); /* MATLAB Function: '/is_ending_with_5' */ /* : correct_after_time = [g_assCORRECT_DUCT_TIME_FL_LV0; g_assCORRECT_DUCT_TIME_FL_LV1; g_assCORRECT_DUCT_TIME_FL_LV2; g_assCORRECT_DUCT_TIME_FL_LV3; g_assCORRECT_DUCT_TIME_FL_LV4; g_assCORRECT_DUCT_TIME_FL_LV5]; */ /* : y = correct_after_time(LVL + 1, idivide(SET - 16 + 1, 2)); */ is_ending_with_5(Gain1, &rtb_LogicalOperator_fc); /* MATLAB Function: '/correction rate' incorporates: * Gain: '/Gain2' */ /* : correct_after_time = [g_assCORRECT_DUCT_MAX_LV0; g_assCORRECT_DUCT_MAX_LV1; g_assCORRECT_DUCT_MAX_LV2; g_assCORRECT_DUCT_MAX_LV3; g_assCORRECT_DUCT_MAX_LV4; g_assCORRECT_DUCT_MAX_LV5]; */ /* : y = correct_after_time(LVL + 1, idivide(SET - 16 + 1, 2)); */ correctionrate((int16_t)(rtb_Gain2_tmp_tmp_0 + (uint32_t)((rtb_Gain2_tmp_tmp & 262144U) != 0U)), rtb_timer_out, &rtb_u6FLU_tg_amb_a3); /* Switch: '/Switch5' incorporates: * Constant: '/Constant12' * DataStoreRead: '/Data Store Read11' * DataStoreRead: '/Data Store Read76' */ /* : correct_after_time = [g_assCORRECT_DUCT_TIME_FR_LV0; g_assCORRECT_DUCT_TIME_FR_LV1; g_assCORRECT_DUCT_TIME_FR_LV2; g_assCORRECT_DUCT_TIME_FR_LV3; g_assCORRECT_DUCT_TIME_FR_LV4; g_assCORRECT_DUCT_TIME_FR_LV5]; */ /* : y = correct_after_time(LVL + 1, idivide(SET - 16 + 1, 2)); */ if (rtDW.CCU_AC_MAX > 0) { rtb_Gain2 = 7; } else { rtb_Gain2 = rtDW.CCU_BLOWERS_FL; } /* End of Switch: '/Switch5' */ /* Outputs for Enabled SubSystem: '/Front Left AF - manual directions' incorporates: * EnablePort: '/Enable' */ /* RelationalOperator: '/Equal2' incorporates: * Constant: '/Constant2' * DataStoreRead: '/Data Store Read44' */ if (rtDW.CCU_MODE_FL == 0) { /* MATLAB Function: '/AF for Bi Level' incorporates: * DataTypeConversion: '/Data Type Conversion6' */ AFforBiLevel((uint8_t)rtb_Gain2, &rtb_Saturation_as); /* MATLAB Function: '/AF for Def' incorporates: * DataTypeConversion: '/Data Type Conversion6' */ AFforDef((uint8_t)rtb_Gain2, &Gain1); /* MATLAB Function: '/AF for Foor + Def' incorporates: * DataTypeConversion: '/Data Type Conversion6' */ AFforFoorDef((uint8_t)rtb_Gain2, &rtb_Saturation2_a); /* MATLAB Function: '/AF for Foot' incorporates: * DataTypeConversion: '/Data Type Conversion6' */ AFforFoot((uint8_t)rtb_Gain2, &rtb_out_ihi); /* MATLAB Function: '/AF for Hi_Level' incorporates: * DataTypeConversion: '/Data Type Conversion6' */ AFforHi_Level((uint8_t)rtb_Gain2, &rtb_out_kez); /* MATLAB Function: '/AF for Tri-Level' incorporates: * DataTypeConversion: '/Data Type Conversion6' */ AFforTriLevel((uint8_t)rtb_Gain2, &rtB.MultiportSwitch_cy); /* MATLAB Function: '/AF for Vent mode' incorporates: * DataTypeConversion: '/Data Type Conversion6' */ AFforVentmode((uint8_t)rtb_Gain2, &rtb_out_m44); /* RelationalOperator: '/Relational Operator2' incorporates: * Constant: '/Constant2' * DataStoreRead: '/Data Store Read9' */ rtb_LogicalOperator_fc = (rtDW.CCU_FOOT_FL == 1); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * DataStoreRead: '/Data Store Read6' * DataStoreRead: '/Data Store Read8' * DataTypeConversion: '/Data Type Conversion5' * Gain: '/Gain1' * Gain: '/Gain2' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator1' * Sum: '/Add' */ switch ((int32_t)(((uint32_t)((rtDW.CCU_FACE_FL == 1) << 1) + (uint32_t) (rtDW.CCU_DEF_FL == 1)) + (uint32_t) (rtb_LogicalOperator_fc << 2))) { case 0: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/Constant3' */ rtB.MultiportSwitch_cy = 0U; break; case 1: /* MultiPortSwitch: '/Multiport Switch' */ rtB.MultiportSwitch_cy = Gain1; break; case 2: /* MultiPortSwitch: '/Multiport Switch' */ rtB.MultiportSwitch_cy = rtb_out_m44; break; case 3: /* MultiPortSwitch: '/Multiport Switch' */ rtB.MultiportSwitch_cy = rtb_out_kez; break; case 4: /* MultiPortSwitch: '/Multiport Switch' */ rtB.MultiportSwitch_cy = rtb_out_ihi; break; case 5: /* MultiPortSwitch: '/Multiport Switch' */ rtB.MultiportSwitch_cy = rtb_Saturation2_a; break; case 6: /* MultiPortSwitch: '/Multiport Switch' */ rtB.MultiportSwitch_cy = rtb_Saturation_as; break; } /* End of MultiPortSwitch: '/Multiport Switch' */ } /* End of RelationalOperator: '/Equal2' */ /* End of Outputs for SubSystem: '/Front Left AF - manual directions' */ /* Switch: '/Switch2' incorporates: * Constant: '/Constant12' * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read76' */ if (rtDW.CCU_AC_MAX > 0) { rtb_Gain2 = 5; } else { rtb_Gain2 = rtDW.CCU_AUTOMODE_FL; } /* MATLAB Function: '/func g_ascAUTO_STEP_AF_F' incorporates: * Switch: '/Switch2' */ funcg_ascAUTO_STEP_AF_F((double)rtb_Gain2, &rtb_y_cb); /* Saturate: '/Saturation9' incorporates: * DataStoreRead: '/Data Store Read42' */ if (rtDW.LEVEL <= 5) { rtb_timer_out = rtDW.LEVEL; } else { rtb_timer_out = 5U; } /* End of Saturate: '/Saturation9' */ /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * Constant: '/Constant2' * Constant: '/Constant3' * Constant: '/Constant4' * Constant: '/Constant5' */ switch (rtb_timer_out) { case 0: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assVF_MAX_LV0[i]; } break; case 1: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assVF_MAX_LV1[i]; } break; case 2: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assVF_MAX_LV2[i]; } break; case 3: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assVF_MAX_LV3[i]; } break; case 4: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assVF_MAX_LV4[i]; } break; default: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assVF_MAX_LV5[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* Saturate: '/Saturation5' incorporates: * DataStoreRead: '/Data Store Read30' */ if (rtDW.CCU_SET_FL > 290) { rtb_Saturation2_a = 290U; } else if (rtDW.CCU_SET_FL < 170) { rtb_Saturation2_a = 170U; } else { rtb_Saturation2_a = rtDW.CCU_SET_FL; } /* End of Saturate: '/Saturation5' */ /* Gain: '/Gain4' incorporates: * Bias: '/Bias1' * DataTypeConversion: '/Data Type Conversion4' * Gain: '/Gain2' * Gain: '/Gain3' */ rtb_Gain2 = ((int32_t)((52429U * rtb_Saturation2_a) >> 19) + -15) << 14; /* DataTypeConversion: '/Data Type Conversion3' incorporates: * Gain: '/Gain2' * Saturate: '/Saturation1' */ rtb_DataTypeConversion3_l4 = (uint8_t)((((uint32_t)rtb_Gain2 & 16384U) != 0U) + (rtb_Gain2 >> 15)); /* Selector: '/Selector' */ rtb_DataTypeConversion_dl = rtb_uDLookupTable7_g[rtb_DataTypeConversion3_l4 - 1]; /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Lookup_n-D: '/1-D Lookup Table10' * Lookup_n-D: '/1-D Lookup Table11' * Lookup_n-D: '/1-D Lookup Table6' * Lookup_n-D: '/1-D Lookup Table7' * Lookup_n-D: '/1-D Lookup Table8' * Lookup_n-D: '/1-D Lookup Table9' * Saturate: '/Saturation5' */ switch (rtb_timer_out) { case 0: rtb_DataTypeConversion1_gq = look1_iu16lu64n48ts16Ds32_binlcs (rtb_Saturation2_a, rtConstP.pooled81, &g_assVTG_FL_LV0[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table6' * Lookup_n-D: '/1-D Lookup Table' * Saturate: '/Saturation5' */ rtb_Bias1_h = look1_iu16bs16lu64n32ts16Ds32_binlcs(rtb_Saturation2_a, rtConstP.pooled54, &g_assINCAR_TG_FL_LV0[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[0] = g_assVF_INC_Y1_LV0[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[1] = g_assVF_INC_Y2_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: rtb_DataTypeConversion1_gq = look1_iu16lu64n48ts16Ds32_binlcs (rtb_Saturation2_a, rtConstP.pooled81, &g_assVTG_FL_LV1[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table7' * Lookup_n-D: '/1-D Lookup Table1' * Saturate: '/Saturation5' */ rtb_Bias1_h = look1_iu16bs16lu64n32ts16Ds32_binlcs(rtb_Saturation2_a, rtConstP.pooled54, &g_assINCAR_TG_FL_LV1[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[0] = g_assVF_INC_Y1_LV1[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[1] = g_assVF_INC_Y2_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: rtb_DataTypeConversion1_gq = look1_iu16lu64n48ts16Ds32_binlcs (rtb_Saturation2_a, rtConstP.pooled81, &g_assVTG_FL_LV1[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table8' * Lookup_n-D: '/1-D Lookup Table2' * Saturate: '/Saturation5' */ rtb_Bias1_h = look1_iu16bs16lu64n32ts16Ds32_binlcs(rtb_Saturation2_a, rtConstP.pooled54, &g_assINCAR_TG_FL_LV2[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[0] = g_assVF_INC_Y1_LV2[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[1] = g_assVF_INC_Y2_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: rtb_DataTypeConversion1_gq = look1_iu16lu64n48ts16Ds32_binlcs (rtb_Saturation2_a, rtConstP.pooled81, &g_assVTG_FL_LV3[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table9' * Lookup_n-D: '/1-D Lookup Table3' * Saturate: '/Saturation5' */ rtb_Bias1_h = look1_iu16bs16lu64n32ts16Ds32_binlcs(rtb_Saturation2_a, rtConstP.pooled54, &g_assINCAR_TG_FL_LV3[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[0] = g_assVF_INC_Y1_LV3[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[1] = g_assVF_INC_Y2_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: rtb_DataTypeConversion1_gq = look1_iu16lu64n48ts16Ds32_binlcs (rtb_Saturation2_a, rtConstP.pooled81, &g_assVTG_FL_LV4[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table10' * Lookup_n-D: '/1-D Lookup Table4' * Saturate: '/Saturation5' */ rtb_Bias1_h = look1_iu16bs16lu64n32ts16Ds32_binlcs(rtb_Saturation2_a, rtConstP.pooled54, &g_assINCAR_TG_FL_LV4[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[0] = g_assVF_INC_Y1_LV4[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[1] = g_assVF_INC_Y2_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: rtb_DataTypeConversion1_gq = look1_iu16lu64n48ts16Ds32_binlcs (rtb_Saturation2_a, rtConstP.pooled81, &g_assVTG_FL_LV5[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table11' * Lookup_n-D: '/1-D Lookup Table5' * Saturate: '/Saturation5' */ rtb_Bias1_h = look1_iu16bs16lu64n32ts16Ds32_binlcs(rtb_Saturation2_a, rtConstP.pooled54, &g_assINCAR_TG_FL_LV5[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[0] = g_assVF_INC_Y1_LV5[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[1] = g_assVF_INC_Y2_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_lb[2] = 0; /* MultiPortSwitch: '/Multiport Switch3' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector2' incorporates: * Constant: '/Constant14' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[3] = g_assVF_INC_Y3_LV0[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant20' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[4] = g_assVF_INC_Y4_LV0[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[0] = g_assVF_INC_X1_LV0[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[1] = g_assVF_INC_X2_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: /* Selector: '/Selector2' incorporates: * Constant: '/Constant15' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[3] = g_assVF_INC_Y3_LV1[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant21' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[4] = g_assVF_INC_Y4_LV1[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[0] = g_assVF_INC_X1_LV1[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[1] = g_assVF_INC_X2_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: /* Selector: '/Selector2' incorporates: * Constant: '/Constant16' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[3] = g_assVF_INC_Y3_LV2[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant22' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[4] = g_assVF_INC_Y4_LV2[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[0] = g_assVF_INC_X1_LV2[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[1] = g_assVF_INC_X2_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: /* Selector: '/Selector2' incorporates: * Constant: '/Constant17' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[3] = g_assVF_INC_Y3_LV3[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant23' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[4] = g_assVF_INC_Y4_LV3[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[0] = g_assVF_INC_X1_LV3[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[1] = g_assVF_INC_X2_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: /* Selector: '/Selector2' incorporates: * Constant: '/Constant12' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[3] = g_assVF_INC_Y3_LV4[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant18' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[4] = g_assVF_INC_Y4_LV4[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[0] = g_assVF_INC_X1_LV4[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[1] = g_assVF_INC_X2_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: /* Selector: '/Selector2' incorporates: * Constant: '/Constant13' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[3] = g_assVF_INC_Y3_LV5[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant19' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[4] = g_assVF_INC_Y4_LV5[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[0] = g_assVF_INC_X1_LV5[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[1] = g_assVF_INC_X2_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch3' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_jn[2] = 0; /* MultiPortSwitch: '/Multiport Switch3' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector2' incorporates: * Constant: '/Constant14' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[3] = g_assVF_INC_X3_LV0[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant20' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[4] = g_assVF_INC_X4_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: /* Selector: '/Selector2' incorporates: * Constant: '/Constant15' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[3] = g_assVF_INC_X3_LV1[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant21' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[4] = g_assVF_INC_X4_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: /* Selector: '/Selector2' incorporates: * Constant: '/Constant16' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[3] = g_assVF_INC_X3_LV2[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant22' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[4] = g_assVF_INC_X4_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: /* Selector: '/Selector2' incorporates: * Constant: '/Constant17' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[3] = g_assVF_INC_X3_LV3[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant23' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[4] = g_assVF_INC_X4_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: /* Selector: '/Selector2' incorporates: * Constant: '/Constant12' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[3] = g_assVF_INC_X3_LV4[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant18' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[4] = g_assVF_INC_X4_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: /* Selector: '/Selector2' incorporates: * Constant: '/Constant13' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[3] = g_assVF_INC_X3_LV5[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant19' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[4] = g_assVF_INC_X4_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch3' */ /* Lookup_n-D: '/2.5 Vtg_Fx_tg_incar' incorporates: * DataStoreRead: '/Data Store Read35' * Sum: '/2.5. X = Incar_Tg - Incar_fb' */ rtb_Bias4 = look1_is16lu64n32Ds32_binlcn((int16_t)(rtb_Bias1_h - rtDW.Incar_FL), rtb_VectorConcatenate_jn, rtb_VectorConcatenate_lb, 4U); /* MultiPortSwitch: '/Multiport Switch1' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector' incorporates: * Constant: '/Constant' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[0] = g_assVF_AMB_Y1_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[0] = g_assVF_AMB_Y1_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[0] = g_assVF_AMB_Y1_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[0] = g_assVF_AMB_Y1_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[0] = g_assVF_AMB_Y1_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[0] = g_assVF_AMB_Y1_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_dw[1] = 0; /* MultiPortSwitch: '/Multiport Switch2' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[2] = g_assVF_AMB_Y2_LV0[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[0] = g_assVF_AMB_X1_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[2] = g_assVF_AMB_Y2_LV1[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[0] = g_assVF_AMB_X1_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[2] = g_assVF_AMB_Y2_LV2[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[0] = g_assVF_AMB_X1_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[2] = g_assVF_AMB_Y2_LV3[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[0] = g_assVF_AMB_X1_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[2] = g_assVF_AMB_Y2_LV4[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[0] = g_assVF_AMB_X1_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[2] = g_assVF_AMB_Y2_LV5[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[0] = g_assVF_AMB_X1_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch2' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_pg[1] = 0; /* MultiPortSwitch: '/Multiport Switch2' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[2] = g_assVF_AMB_X2_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[2] = g_assVF_AMB_X2_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[2] = g_assVF_AMB_X2_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[2] = g_assVF_AMB_X2_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[2] = g_assVF_AMB_X2_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[2] = g_assVF_AMB_X2_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch2' */ /* Sum: '/2.6. X = Amb_Tg - Amb_Fb' incorporates: * Bias: '/Bias1' * Constant: '/Constant1' * DataStoreRead: '/Data Store Read34' * Selector: '/Selector2' * Sum: '/2.6. X = Amb_Tg - Amb_Fb' * Sum: '/2.6. X = Amb_Tg - Amb_Fb' * Sum: '/2.6. X = Amb_Tg - Amb_Fb' */ rtb_MultiportSwitch_az = (int16_t)(g_assAMB_LV_TG[rtb_timer_out] - rtDW.AMB); /* Lookup_n-D: '/2.6 Vtg_Fx_tg_amb' incorporates: * Sum: '/2.6. X = Amb_Tg - Amb_Fb' */ rtb_Bias2_n = look1_is16lu64n32Ds32_binlcn(rtb_MultiportSwitch_az, rtb_VectorConcatenate_pg, rtb_VectorConcatenate_dw, 2U); /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_gn[0] = 0; /* MultiPortSwitch: '/Multiport Switch1' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector' incorporates: * Constant: '/Constant' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[1] = g_assVF_SUN_Y1_LV0[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assVF_SUN_Y2_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[1] = g_assVF_SUN_Y1_LV1[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assVF_SUN_Y2_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[1] = g_assVF_SUN_Y1_LV2[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assVF_SUN_Y2_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[1] = g_assVF_SUN_Y1_LV3[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assVF_SUN_Y2_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[1] = g_assVF_SUN_Y1_LV4[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assVF_SUN_Y2_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[1] = g_assVF_SUN_Y1_LV5[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assVF_SUN_Y2_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_np[0] = 0; /* MultiPortSwitch: '/Multiport Switch1' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector' incorporates: * Constant: '/Constant' * Selector: '/Selector' */ rtb_VectorConcatenate_np[1] = g_assVF_SUN_X1_LV0[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assVF_SUN_X2_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * Selector: '/Selector' */ rtb_VectorConcatenate_np[1] = g_assVF_SUN_X1_LV1[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assVF_SUN_X2_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[1] = g_assVF_SUN_X1_LV2[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assVF_SUN_X2_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * Selector: '/Selector' */ rtb_VectorConcatenate_np[1] = g_assVF_SUN_X1_LV3[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assVF_SUN_X2_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * Selector: '/Selector' */ rtb_VectorConcatenate_np[1] = g_assVF_SUN_X1_LV4[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assVF_SUN_X2_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * Selector: '/Selector' */ rtb_VectorConcatenate_np[1] = g_assVF_SUN_X1_LV5[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assVF_SUN_X2_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* Lookup_n-D: '/2.6 Vtg_Fx_tg_amb' incorporates: * DataStoreRead: '/Data Store Read39' */ rtb_Bias3 = look1_bs16ts16Dd_binlc(rtDW.Sun_L, rtb_VectorConcatenate_np, rtb_VectorConcatenate_gn, 2U); /* Sum: '/2.8. Vtg_FX_plus' */ rtb_u6FLU_tg_amb_a3 = (int16_t)((int16_t)((int16_t)(rtb_DataTypeConversion1_gq + rtb_Bias4) + rtb_Bias2_n) + rtb_Bias3); /* Switch: '/Switch2' incorporates: * RelationalOperator: '/LowerRelop1' */ if (rtb_u6FLU_tg_amb_a3 <= rtb_DataTypeConversion_dl) { /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * Constant: '/Constant2' * Constant: '/Constant3' * Constant: '/Constant4' * Constant: '/Constant5' */ switch (rtb_timer_out) { case 0: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assVF_MIN_LV0[i]; } break; case 1: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assVF_MIN_LV1[i]; } break; case 2: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assVF_MIN_LV2[i]; } break; case 3: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assVF_MIN_LV3[i]; } break; case 4: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assVF_MIN_LV4[i]; } break; default: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assVF_MIN_LV5[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* Selector: '/Selector' incorporates: * Selector: '/Selector' */ rtb_DataTypeConversion_dl = rtb_uDLookupTable7_g[rtb_DataTypeConversion3_l4 - 1]; /* Switch: '/Switch' incorporates: * RelationalOperator: '/UpperRelop' * Selector: '/Selector' */ if (rtb_u6FLU_tg_amb_a3 >= rtb_DataTypeConversion_dl) { rtb_DataTypeConversion_dl = rtb_u6FLU_tg_amb_a3; } /* End of Switch: '/Switch' */ } /* End of Switch: '/Switch2' */ /* Switch: '/Switch' incorporates: * Constant: '/manual' * RelationalOperator: '/Equal1' * UnitDelay: '/Unit Delay' */ if (rtDW.UnitDelay_DSTATE_ne == 0) { Gain1 = rtB.MultiportSwitch_cy; } else { /* Sum: '/Add' incorporates: * DataTypeConversion: '/Data Type Conversion' * DataTypeConversion: '/Data Type Conversion3' * Gain: '/Gain' * Product: '/Product' */ index_start = 0.01 * (double)rtb_y_cb * (double)(uint16_t) rtb_DataTypeConversion_dl + (double)(uint16_t)rtb_DataTypeConversion_dl; /* DataTypeConversion: '/Data Type Conversion1' */ if (fabs(index_start) >= 0.5) { Gain1 = (uint16_t)floor(index_start + 0.5); } else { Gain1 = 0U; } /* End of DataTypeConversion: '/Data Type Conversion1' */ } /* End of Switch: '/Switch' */ /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_FL_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* Switch: '/switch speed' incorporates: * Constant: '/blower speed 2' * Constant: '/blower speed 6' * DataStoreRead: '/3 way valve' * RelationalOperator: '/Equal' */ if (rtb_Cmd_3Way == 2) { rtb_Gain2 = 6; } else { rtb_Gain2 = 2; } /* MATLAB Function: '/AF for speed' incorporates: * Switch: '/switch speed' */ AFforspeed(rtb_out_eix, (double)rtb_Gain2, &rtb_Saturation_as); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_FL_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed' */ AFforspeed(rtb_out_eix, 7.0, &rtb_out_kez); /* Switch: '/Switch' incorporates: * Constant: '/Constant' * Constant: '/Constant' * Constant: '/Constant' * DataStoreRead: '/AF from Start Control' * DataStoreRead: '/Data Store Read' * Logic: '/Logical Operator' * RelationalOperator: '/Compare' * RelationalOperator: '/Compare' * RelationalOperator: '/Compare' */ if ((rtDW.step_start_controle_front == 0) || (rtDW.step_start_controle_front == 1) || (rtDW.step_start_controle_front == 2)) { rtb_out_ihi = rtDW.Blower_FL; } else { rtb_out_ihi = Gain1; } /* Sum: '/Add' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read2' * Sum: '/Add' * Switch: '/Switch' */ rtb_DataTypeConversion3_l4 = (uint8_t)((uint8_t)((uint32_t)(uint8_t) rtb_out_ihi + (uint8_t)rtDW.FL_blower_AF_offset_autodemist) + rtDW.Blower_individual_foot_FL); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_FL_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed' */ AFforspeed(rtb_out_eix, 7.0, &rtb_out_m44); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_FL_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed' */ AFforspeed(rtb_out_eix, 7.0, &rtb_out_l4w); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_FL_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed' */ AFforspeed(rtb_out_eix, 7.0, &rtb_out_lac); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_FL_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed' */ AFforspeed(rtb_out_eix, 6.0, &rtb_out_ihi); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_FL_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed' */ AFforspeed(rtb_out_eix, 6.0, &rtb_out_mxq); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read2' */ switch (rtDW.LEVEL) { case 0: case 1: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/LOW1' * Constant: '/LOW2' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Logic: '/Logical Operator1' * Logic: '/Logical Operator2' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)((uint32_t)(((rtDW.CCU_MODE_FR == 1) && (rtDW.LO_HI_MODE_FR == 1)) << 1) + (uint32_t)((rtDW.CCU_MODE_FL == 1) && (rtDW.LO_HI_MODE_FL == 1)))) { case 1: rtb_out_ihi = rtb_out_kez; break; case 2: rtb_out_ihi = rtb_DataTypeConversion3_l4; break; case 3: rtb_out_ihi = rtb_out_m44; break; default: rtb_out_ihi = rtb_DataTypeConversion3_l4; break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; case 2: case 3: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/LOW1' * Constant: '/LOW2' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Logic: '/Logical Operator1' * Logic: '/Logical Operator2' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)((uint32_t)(((rtDW.CCU_MODE_FR == 1) && (rtDW.LO_HI_MODE_FR == 1)) << 1) + (uint32_t)((rtDW.CCU_MODE_FL == 1) && (rtDW.LO_HI_MODE_FL == 1)))) { case 1: rtb_out_ihi = rtb_out_l4w; break; case 2: rtb_out_ihi = rtb_DataTypeConversion3_l4; break; case 3: rtb_out_ihi = rtb_out_lac; break; default: rtb_out_ihi = rtb_DataTypeConversion3_l4; break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; default: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/LOW1' * Constant: '/LOW2' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Logic: '/Logical Operator1' * Logic: '/Logical Operator2' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)((uint32_t)(((rtDW.CCU_MODE_FR == 1) && (rtDW.LO_HI_MODE_FR == 1)) << 1) + (uint32_t)((rtDW.CCU_MODE_FL == 1) && (rtDW.LO_HI_MODE_FL == 1)))) { case 1: break; case 2: rtb_out_ihi = rtb_DataTypeConversion3_l4; break; case 3: rtb_out_ihi = rtb_out_mxq; break; default: rtb_out_ihi = rtb_DataTypeConversion3_l4; break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_FL_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed' */ AFforspeed(rtb_out_eix, 6.0, &rtb_out_kez); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_FL_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed' */ AFforspeed(rtb_out_eix, 7.0, &rtb_out_m44); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_FL_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed' */ AFforspeed(rtb_out_eix, 7.0, &rtb_out_l4w); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_FL_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed' */ AFforspeed(rtb_out_eix, 6.0, &rtb_out_lac); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_FL_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed' */ AFforspeed(rtb_out_eix, 6.0, &rtb_out_mxq); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read2' */ switch (rtDW.LEVEL) { case 0: case 1: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/HI' * Constant: '/HI1' * Constant: '/HI2' * Constant: '/HI3' * Constant: '/auto' * Constant: '/auto' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read4' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Gain: '/Gain2' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * Logic: '/Logical Operator2' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator3' * RelationalOperator: '/Relational Operator4' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)(((uint32_t)(((rtDW.CCU_MODE_RL == 1) && (rtDW.LO_HI_MODE_RL == 2) && (rtDW.LO_HI_MODE_RR == 2) && (rtDW.CCU_MODE_RR == 1)) << 2) + (uint32_t)(((rtDW.CCU_MODE_FR == 1) && (rtDW.LO_HI_MODE_FR == 2)) << 1)) + (uint32_t)((rtDW.CCU_MODE_FL == 1) && (rtDW.LO_HI_MODE_FL == 2)))) { case 1: rtb_out_ihi = rtb_Saturation_as; break; case 2: break; case 3: rtb_out_ihi = rtb_out_kez; break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; case 2: case 3: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/HI' * Constant: '/HI1' * Constant: '/HI2' * Constant: '/HI3' * Constant: '/auto' * Constant: '/auto' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read4' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Gain: '/Gain2' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * Logic: '/Logical Operator2' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator3' * RelationalOperator: '/Relational Operator4' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)(((uint32_t)(((rtDW.CCU_MODE_RL == 1) && (rtDW.LO_HI_MODE_RL == 2) && (rtDW.LO_HI_MODE_RR == 2) && (rtDW.CCU_MODE_RR == 1)) << 2) + (uint32_t)(((rtDW.CCU_MODE_FR == 1) && (rtDW.LO_HI_MODE_FR == 2)) << 1)) + (uint32_t)((rtDW.CCU_MODE_FL == 1) && (rtDW.LO_HI_MODE_FL == 2)))) { case 1: rtb_out_ihi = rtb_out_m44; break; case 2: break; case 3: rtb_out_ihi = rtb_out_l4w; break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; default: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/HI' * Constant: '/HI1' * Constant: '/HI2' * Constant: '/HI3' * Constant: '/auto' * Constant: '/auto' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read4' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Gain: '/Gain2' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * Logic: '/Logical Operator2' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator3' * RelationalOperator: '/Relational Operator4' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)(((uint32_t)(((rtDW.CCU_MODE_RL == 1) && (rtDW.LO_HI_MODE_RL == 2) && (rtDW.LO_HI_MODE_RR == 2) && (rtDW.CCU_MODE_RR == 1)) << 2) + (uint32_t)(((rtDW.CCU_MODE_FR == 1) && (rtDW.LO_HI_MODE_FR == 2)) << 1)) + (uint32_t)((rtDW.CCU_MODE_FL == 1) && (rtDW.LO_HI_MODE_FL == 2)))) { case 1: rtb_out_ihi = rtb_out_lac; break; case 2: break; case 3: rtb_out_ihi = rtb_out_mxq; break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* Switch: '/Switch' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read4' * DataStoreRead: '/Data Store Read5' */ if (rtDW.CCU_MODE_FL > 0) { rtb_DataTypeConversion3_gz = rtDW.Index_mode_FL_auto; } else { rtb_DataTypeConversion3_gz = rtDW.Index_mode_FL_manual; } /* MATLAB Function: '/param index for mode' incorporates: * Switch: '/Switch' */ paramindexformode(rtb_DataTypeConversion3_gz, &rtb_D_la); /* Switch: '/Switch8' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read10' * DataStoreRead: '/Data Store Read2' * Switch: '/Switch1' */ if (rtDW.Max_def_algo_active) { rtb_DataTypeConversion3_l4 = 3U; rtb_Switch1_j = 3U; } else { rtb_DataTypeConversion3_l4 = rtDW.DRS_SFL; rtb_Switch1_j = rtDW.DRS_CFL; } /* End of Switch: '/Switch8' */ /* MATLAB Function: '/FL AF * percent DRS' */ /* : index_start = (param_index - 1) * 3 + 1; */ index_start = (rtb_D_la - 1.0) * 3.0 + 1.0; /* : if DRS_side == 0 */ if (rtb_DataTypeConversion3_l4 == 0) { /* : side_percent = uint8(0); */ rtb_DataTypeConversion1_nc = 0U; } else { /* : else */ /* : side_percent = g_aucFRONT_SIDE_DRS_PERCENT_AF(index_start + 3 - DRS_side); */ rtb_I_od = rt_roundd((index_start + 3.0) - (double) rtb_DataTypeConversion3_l4); if (rtb_I_od < 256.0) { if (rtb_I_od >= 0.0) { rtb_DataTypeConversion3_gz = (uint8_t)rtb_I_od; } else { rtb_DataTypeConversion3_gz = 0U; } } else { rtb_DataTypeConversion3_gz = UINT8_MAX; } rtb_DataTypeConversion1_nc = g_aucFRONT_SIDE_DRS_PERCENT_AF[rtb_DataTypeConversion3_gz - 1]; } /* : if DRS_center == 0 */ if (rtb_Switch1_j == 0) { /* : center_percent = uint8(0); */ rtb_DataTypeConversion3_gz = 0U; } else { /* : else */ /* : center_percent = g_aucFRONT_CENT_DRS_PERCENT_AF(index_start + 3 - DRS_center); */ rtb_I_od = rt_roundd((index_start + 3.0) - (double)rtb_Switch1_j); if (rtb_I_od < 256.0) { if (rtb_I_od >= 0.0) { rtb_DataTypeConversion3_gz = (uint8_t)rtb_I_od; } else { rtb_DataTypeConversion3_gz = 0U; } } else { rtb_DataTypeConversion3_gz = UINT8_MAX; } rtb_DataTypeConversion3_gz = g_aucFRONT_CENT_DRS_PERCENT_AF[rtb_DataTypeConversion3_gz - 1]; } /* : percent = double(side_percent + center_percent) / 2 / 100; */ rtb_Gain2 = (int32_t)((uint32_t)rtb_DataTypeConversion1_nc + rtb_DataTypeConversion3_gz); if ((uint32_t)rtb_Gain2 > 255U) { rtb_Gain2 = 255; } index_start = (double)rtb_Gain2 / 2.0 / 100.0; /* : fprintf('!!!!!----------DRS FL--------!!!!!') */ printf("!!!!!----------DRS FL--------!!!!!"); fflush(stdout); /* : fprintf('AF_in (AF FL):'); */ printf("AF_in (AF FL):"); fflush(stdout); /* : fprintf('%u', AF_in); */ printf("%u", rtb_out_ihi); fflush(stdout); /* : fprintf('DRS_side (AF FL):'); */ printf("DRS_side (AF FL):"); fflush(stdout); /* : fprintf('%u', DRS_side); */ printf("%u", rtb_DataTypeConversion3_l4); fflush(stdout); /* : fprintf('side_percent (AF FL):'); */ printf("side_percent (AF FL):"); fflush(stdout); /* : fprintf('%u', side_percent); */ printf("%u", rtb_DataTypeConversion1_nc); fflush(stdout); /* : fprintf('DRS_center (AF FL):'); */ printf("DRS_center (AF FL):"); fflush(stdout); /* : fprintf('%u', DRS_center); */ printf("%u", rtb_Switch1_j); fflush(stdout); /* : fprintf('center_percent (AF FL):'); */ printf("center_percent (AF FL):"); fflush(stdout); /* : fprintf('%u', center_percent); */ printf("%u", rtb_DataTypeConversion3_gz); fflush(stdout); /* : fprintf('percent (AF FL):'); */ printf("percent (AF FL):"); fflush(stdout); /* : fprintf('%f', percent); */ printf("%f", index_start); fflush(stdout); /* : y = uint16(double(AF_in) * percent); */ rtb_Gain2 = (int32_t)rt_roundd((double)rtb_out_ihi * index_start); if (rtb_Gain2 < 65536) { rtb_Saturation_as = (uint16_t)rtb_Gain2; } else { rtb_Saturation_as = UINT16_MAX; } /* : fprintf('AF out (y):'); */ printf("AF out (y):"); fflush(stdout); /* : fprintf('%u', y); */ printf("%u", rtb_Saturation_as); fflush(stdout); /* End of MATLAB Function: '/FL AF * percent DRS' */ /* Switch: '/Switch8' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read10' * DataStoreRead: '/Data Store Read4' * DataStoreWrite: '/Data Store Write19' * Switch: '/Switch6' */ if (rtDW.Max_def_algo_active) { rtb_Saturation_as = rtDW.Max_def_FL_blower_AF; } else if (rtDW.CCU_AC_MAX > 0) { /* Switch: '/Switch6' incorporates: * DataStoreWrite: '/Data Store Write19' */ rtb_Saturation_as = Gain1; } /* End of Switch: '/Switch8' */ /* Switch: '/Switch4' incorporates: * Constant: '/Constant12' * DataStoreRead: '/Data Store Read7' * DataStoreRead: '/Data Store Read76' */ if (rtDW.CCU_AC_MAX > 0) { rtb_Gain2 = 7; } else { rtb_Gain2 = rtDW.CCU_BLOWERS_FR; } /* End of Switch: '/Switch4' */ /* Outputs for Enabled SubSystem: '/Front Right AF - manual directions' incorporates: * EnablePort: '/Enable' */ /* RelationalOperator: '/Equal3' incorporates: * Constant: '/Constant3' * DataStoreRead: '/Data Store Read45' */ if (rtDW.CCU_MODE_FR == 0) { /* MATLAB Function: '/AF for Bi Level' incorporates: * DataTypeConversion: '/Data Type Conversion6' */ AFforBiLevel((uint8_t)rtb_Gain2, &Gain1); /* MATLAB Function: '/AF for Def' incorporates: * DataTypeConversion: '/Data Type Conversion6' */ AFforDef((uint8_t)rtb_Gain2, &rtb_out_ihi); /* MATLAB Function: '/AF for Foor + Def' incorporates: * DataTypeConversion: '/Data Type Conversion6' */ AFforFoorDef((uint8_t)rtb_Gain2, &rtb_out_kez); /* MATLAB Function: '/AF for Foot' incorporates: * DataTypeConversion: '/Data Type Conversion6' */ AFforFoot((uint8_t)rtb_Gain2, &rtb_out_m44); /* MATLAB Function: '/AF for Hi_Level' incorporates: * DataTypeConversion: '/Data Type Conversion6' */ AFforHi_Level((uint8_t)rtb_Gain2, &rtb_out_l4w); /* MATLAB Function: '/AF for Tri-Level' incorporates: * DataTypeConversion: '/Data Type Conversion6' */ AFforTriLevel((uint8_t)rtb_Gain2, &rtB.MultiportSwitch_a); /* MATLAB Function: '/AF for Vent mode' incorporates: * DataTypeConversion: '/Data Type Conversion6' */ AFforVentmode((uint8_t)rtb_Gain2, &rtb_out_lac); /* RelationalOperator: '/Relational Operator2' incorporates: * Constant: '/Constant2' * DataStoreRead: '/Data Store Read14' */ rtb_LogicalOperator_fc = (rtDW.CCU_FOOT_FR == 1); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * DataStoreRead: '/Data Store Read12' * DataStoreRead: '/Data Store Read13' * DataTypeConversion: '/Data Type Conversion5' * Gain: '/Gain1' * Gain: '/Gain2' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator1' * Sum: '/Add' */ switch ((int32_t)(((uint32_t)((rtDW.CCU_FACE_FR == 1) << 1) + (uint32_t) (rtDW.CCU_DEF_FR == 1)) + (uint32_t) (rtb_LogicalOperator_fc << 2))) { case 0: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/Constant3' */ rtB.MultiportSwitch_a = 0U; break; case 1: /* MultiPortSwitch: '/Multiport Switch' */ rtB.MultiportSwitch_a = rtb_out_ihi; break; case 2: /* MultiPortSwitch: '/Multiport Switch' */ rtB.MultiportSwitch_a = rtb_out_lac; break; case 3: /* MultiPortSwitch: '/Multiport Switch' */ rtB.MultiportSwitch_a = rtb_out_l4w; break; case 4: /* MultiPortSwitch: '/Multiport Switch' */ rtB.MultiportSwitch_a = rtb_out_m44; break; case 5: /* MultiPortSwitch: '/Multiport Switch' */ rtB.MultiportSwitch_a = rtb_out_kez; break; case 6: /* MultiPortSwitch: '/Multiport Switch' */ rtB.MultiportSwitch_a = Gain1; break; } /* End of MultiPortSwitch: '/Multiport Switch' */ } /* End of RelationalOperator: '/Equal3' */ /* End of Outputs for SubSystem: '/Front Right AF - manual directions' */ /* Switch: '/Switch2' incorporates: * Constant: '/Constant12' * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read76' */ if (rtDW.CCU_AC_MAX > 0) { rtb_Gain2 = 5; } else { rtb_Gain2 = rtDW.CCU_AUTOMODE_FR; } /* MATLAB Function: '/func g_ascAUTO_STEP_AF_F' incorporates: * Switch: '/Switch2' */ funcg_ascAUTO_STEP_AF_F((double)rtb_Gain2, &rtb_y_cb); /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * Constant: '/Constant2' * Constant: '/Constant3' * Constant: '/Constant4' * Constant: '/Constant5' */ switch (rtb_timer_out) { case 0: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assVF_MAX_LV0[i]; } break; case 1: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assVF_MAX_LV1[i]; } break; case 2: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assVF_MAX_LV2[i]; } break; case 3: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assVF_MAX_LV3[i]; } break; case 4: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assVF_MAX_LV4[i]; } break; default: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assVF_MAX_LV5[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* Saturate: '/Saturation6' incorporates: * DataStoreRead: '/Data Store Read31' */ if (rtDW.CCU_SET_FR > 290) { rtb_out_kez = 290U; } else if (rtDW.CCU_SET_FR < 170) { rtb_out_kez = 170U; } else { rtb_out_kez = rtDW.CCU_SET_FR; } /* End of Saturate: '/Saturation6' */ /* Gain: '/Gain4' incorporates: * Bias: '/Bias1' * DataTypeConversion: '/Data Type Conversion4' * Gain: '/Gain2' * Gain: '/Gain3' */ rtb_Gain2 = ((int32_t)((52429U * rtb_out_kez) >> 19) + -15) << 14; /* DataTypeConversion: '/Data Type Conversion3' incorporates: * Gain: '/Gain2' * Saturate: '/Saturation1' */ rtb_DataTypeConversion3_l4 = (uint8_t)((((uint32_t)rtb_Gain2 & 16384U) != 0U) + (rtb_Gain2 >> 15)); /* Selector: '/Selector' */ rtb_DataTypeConversion_dl = rtb_uDLookupTable7_g[rtb_DataTypeConversion3_l4 - 1]; /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Lookup_n-D: '/1-D Lookup Table10' * Lookup_n-D: '/1-D Lookup Table11' * Lookup_n-D: '/1-D Lookup Table6' * Lookup_n-D: '/1-D Lookup Table7' * Lookup_n-D: '/1-D Lookup Table8' * Lookup_n-D: '/1-D Lookup Table9' * Saturate: '/Saturation6' */ switch (rtb_timer_out) { case 0: rtb_MultiportSwitch1_g = look1_iu16lu64n48ts16Ds32_binlcs(rtb_out_kez, rtConstP.pooled81, &g_assVTG_FR_LV0[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table6' * Lookup_n-D: '/1-D Lookup Table' * Saturate: '/Saturation6' */ rtb_MultiportSwitch_ac = look1_iu16bs16lu64n32ts16Ds32_binlcs(rtb_out_kez, rtConstP.pooled54, &g_assINCAR_TG_FR_LV0[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[0] = g_assVF_INC_Y1_LV0[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[1] = g_assVF_INC_Y2_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: rtb_MultiportSwitch1_g = look1_iu16lu64n48ts16Ds32_binlcs(rtb_out_kez, rtConstP.pooled81, &g_assVTG_FR_LV1[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table7' * Lookup_n-D: '/1-D Lookup Table1' * Saturate: '/Saturation6' */ rtb_MultiportSwitch_ac = look1_iu16bs16lu64n32ts16Ds32_binlcs(rtb_out_kez, rtConstP.pooled54, &g_assINCAR_TG_FR_LV1[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[0] = g_assVF_INC_Y1_LV1[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[1] = g_assVF_INC_Y2_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: rtb_MultiportSwitch1_g = look1_iu16lu64n48ts16Ds32_binlcs(rtb_out_kez, rtConstP.pooled81, &g_assVTG_FR_LV1[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table8' * Lookup_n-D: '/1-D Lookup Table2' * Saturate: '/Saturation6' */ rtb_MultiportSwitch_ac = look1_iu16bs16lu64n32ts16Ds32_binlcs(rtb_out_kez, rtConstP.pooled54, &g_assINCAR_TG_FR_LV2[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[0] = g_assVF_INC_Y1_LV2[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[1] = g_assVF_INC_Y2_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: rtb_MultiportSwitch1_g = look1_iu16lu64n48ts16Ds32_binlcs(rtb_out_kez, rtConstP.pooled81, &g_assVTG_FR_LV3[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table9' * Lookup_n-D: '/1-D Lookup Table3' * Saturate: '/Saturation6' */ rtb_MultiportSwitch_ac = look1_iu16bs16lu64n32ts16Ds32_binlcs(rtb_out_kez, rtConstP.pooled54, &g_assINCAR_TG_FR_LV3[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[0] = g_assVF_INC_Y1_LV3[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[1] = g_assVF_INC_Y2_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: rtb_MultiportSwitch1_g = look1_iu16lu64n48ts16Ds32_binlcs(rtb_out_kez, rtConstP.pooled81, &g_assVTG_FR_LV4[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table10' * Lookup_n-D: '/1-D Lookup Table4' * Saturate: '/Saturation6' */ rtb_MultiportSwitch_ac = look1_iu16bs16lu64n32ts16Ds32_binlcs(rtb_out_kez, rtConstP.pooled54, &g_assINCAR_TG_FR_LV4[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[0] = g_assVF_INC_Y1_LV4[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[1] = g_assVF_INC_Y2_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: rtb_MultiportSwitch1_g = look1_iu16lu64n48ts16Ds32_binlcs(rtb_out_kez, rtConstP.pooled81, &g_assVTG_FR_LV5[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table11' * Lookup_n-D: '/1-D Lookup Table5' * Saturate: '/Saturation6' */ rtb_MultiportSwitch_ac = look1_iu16bs16lu64n32ts16Ds32_binlcs(rtb_out_kez, rtConstP.pooled54, &g_assINCAR_TG_FR_LV5[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[0] = g_assVF_INC_Y1_LV5[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[1] = g_assVF_INC_Y2_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_lb[2] = 0; /* MultiPortSwitch: '/Multiport Switch3' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector2' incorporates: * Constant: '/Constant14' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[3] = g_assVF_INC_Y3_LV0[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant20' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[4] = g_assVF_INC_Y4_LV0[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[0] = g_assVF_INC_X1_LV0[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[1] = g_assVF_INC_X2_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: /* Selector: '/Selector2' incorporates: * Constant: '/Constant15' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[3] = g_assVF_INC_Y3_LV1[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant21' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[4] = g_assVF_INC_Y4_LV1[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[0] = g_assVF_INC_X1_LV1[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[1] = g_assVF_INC_X2_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: /* Selector: '/Selector2' incorporates: * Constant: '/Constant16' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[3] = g_assVF_INC_Y3_LV2[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant22' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[4] = g_assVF_INC_Y4_LV2[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[0] = g_assVF_INC_X1_LV2[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[1] = g_assVF_INC_X2_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: /* Selector: '/Selector2' incorporates: * Constant: '/Constant17' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[3] = g_assVF_INC_Y3_LV3[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant23' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[4] = g_assVF_INC_Y4_LV3[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[0] = g_assVF_INC_X1_LV3[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[1] = g_assVF_INC_X2_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: /* Selector: '/Selector2' incorporates: * Constant: '/Constant12' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[3] = g_assVF_INC_Y3_LV4[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant18' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[4] = g_assVF_INC_Y4_LV4[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[0] = g_assVF_INC_X1_LV4[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[1] = g_assVF_INC_X2_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: /* Selector: '/Selector2' incorporates: * Constant: '/Constant13' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[3] = g_assVF_INC_Y3_LV5[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant19' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[4] = g_assVF_INC_Y4_LV5[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[0] = g_assVF_INC_X1_LV5[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[1] = g_assVF_INC_X2_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch3' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_jn[2] = 0; /* MultiPortSwitch: '/Multiport Switch3' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector2' incorporates: * Constant: '/Constant14' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[3] = g_assVF_INC_X3_LV0[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant20' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[4] = g_assVF_INC_X4_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: /* Selector: '/Selector2' incorporates: * Constant: '/Constant15' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[3] = g_assVF_INC_X3_LV1[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant21' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[4] = g_assVF_INC_X4_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: /* Selector: '/Selector2' incorporates: * Constant: '/Constant16' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[3] = g_assVF_INC_X3_LV2[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant22' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[4] = g_assVF_INC_X4_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: /* Selector: '/Selector2' incorporates: * Constant: '/Constant17' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[3] = g_assVF_INC_X3_LV3[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant23' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[4] = g_assVF_INC_X4_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: /* Selector: '/Selector2' incorporates: * Constant: '/Constant12' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[3] = g_assVF_INC_X3_LV4[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant18' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[4] = g_assVF_INC_X4_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: /* Selector: '/Selector2' incorporates: * Constant: '/Constant13' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[3] = g_assVF_INC_X3_LV5[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant19' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector' */ rtb_VectorConcatenate_jn[4] = g_assVF_INC_X4_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch3' */ /* Lookup_n-D: '/2.5 FLU_tg_incar' incorporates: * DataStoreRead: '/Data Store Read36' * Sum: '/2.5. X = Inc_Tg - Incar_fb' */ rtb_u5FLU_tg_incar_i = look1_is16lu64n32Ds32_binlcn((int16_t) (rtb_MultiportSwitch_ac - rtDW.Incar_FR), rtb_VectorConcatenate_jn, rtb_VectorConcatenate_lb, 4U); /* MultiPortSwitch: '/Multiport Switch1' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector' incorporates: * Constant: '/Constant' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[0] = g_assVF_AMB_Y1_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[0] = g_assVF_AMB_Y1_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[0] = g_assVF_AMB_Y1_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[0] = g_assVF_AMB_Y1_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[0] = g_assVF_AMB_Y1_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[0] = g_assVF_AMB_Y1_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_dw[1] = 0; /* MultiPortSwitch: '/Multiport Switch2' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[2] = g_assVF_AMB_Y2_LV0[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[0] = g_assVF_AMB_X1_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[2] = g_assVF_AMB_Y2_LV1[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[0] = g_assVF_AMB_X1_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[2] = g_assVF_AMB_Y2_LV2[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[0] = g_assVF_AMB_X1_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[2] = g_assVF_AMB_Y2_LV3[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[0] = g_assVF_AMB_X1_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[2] = g_assVF_AMB_Y2_LV4[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[0] = g_assVF_AMB_X1_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * Selector: '/Selector' */ rtb_VectorConcatenate_dw[2] = g_assVF_AMB_Y2_LV5[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[0] = g_assVF_AMB_X1_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch2' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_pg[1] = 0; /* MultiPortSwitch: '/Multiport Switch2' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[2] = g_assVF_AMB_X2_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[2] = g_assVF_AMB_X2_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[2] = g_assVF_AMB_X2_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[2] = g_assVF_AMB_X2_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[2] = g_assVF_AMB_X2_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * Selector: '/Selector' */ rtb_VectorConcatenate_pg[2] = g_assVF_AMB_X2_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch2' */ /* Lookup_n-D: '/2.6 FLU_tg_amb' */ rtb_u6FLU_tg_amb_g = look1_is16lu64n32Ds32_binlcn(rtb_MultiportSwitch_az, rtb_VectorConcatenate_pg, rtb_VectorConcatenate_dw, 2U); /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_gn[0] = 0; /* MultiPortSwitch: '/Multiport Switch1' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector' incorporates: * Constant: '/Constant' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[1] = g_assVF_SUN_Y1_LV0[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assVF_SUN_Y2_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[1] = g_assVF_SUN_Y1_LV1[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assVF_SUN_Y2_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[1] = g_assVF_SUN_Y1_LV2[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assVF_SUN_Y2_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[1] = g_assVF_SUN_Y1_LV3[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assVF_SUN_Y2_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[1] = g_assVF_SUN_Y1_LV4[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assVF_SUN_Y2_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[1] = g_assVF_SUN_Y1_LV5[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assVF_SUN_Y2_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_np[0] = 0; /* MultiPortSwitch: '/Multiport Switch1' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector' incorporates: * Constant: '/Constant' * Selector: '/Selector' */ rtb_VectorConcatenate_np[1] = g_assVF_SUN_X1_LV0[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assVF_SUN_X2_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * Selector: '/Selector' */ rtb_VectorConcatenate_np[1] = g_assVF_SUN_X1_LV1[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assVF_SUN_X2_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[1] = g_assVF_SUN_X1_LV2[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assVF_SUN_X2_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * Selector: '/Selector' */ rtb_VectorConcatenate_np[1] = g_assVF_SUN_X1_LV3[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assVF_SUN_X2_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * Selector: '/Selector' */ rtb_VectorConcatenate_np[1] = g_assVF_SUN_X1_LV4[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assVF_SUN_X2_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * Selector: '/Selector' */ rtb_VectorConcatenate_np[1] = g_assVF_SUN_X1_LV5[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assVF_SUN_X2_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* Lookup_n-D: '/2.6 FLU_tg_amb' incorporates: * DataStoreRead: '/Data Store Read41' */ rtb_u6FLU_tg_amb_a3 = look1_bs16ts16Dd_binlc(rtDW.Sun_R, rtb_VectorConcatenate_np, rtb_VectorConcatenate_gn, 2U); /* Sum: '/FLU_tg_correct' */ rtb_MultiportSwitch_ks = (int16_t)((int16_t)((int16_t)(rtb_MultiportSwitch1_g + rtb_u5FLU_tg_incar_i) + rtb_u6FLU_tg_amb_g) + rtb_u6FLU_tg_amb_a3); /* Switch: '/Switch2' incorporates: * RelationalOperator: '/LowerRelop1' */ if (rtb_MultiportSwitch_ks <= rtb_DataTypeConversion_dl) { /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * Constant: '/Constant2' * Constant: '/Constant3' * Constant: '/Constant4' * Constant: '/Constant5' */ switch (rtb_timer_out) { case 0: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assVF_MIN_LV0[i]; } break; case 1: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assVF_MIN_LV1[i]; } break; case 2: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assVF_MIN_LV2[i]; } break; case 3: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assVF_MIN_LV3[i]; } break; case 4: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assVF_MIN_LV4[i]; } break; default: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assVF_MIN_LV5[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* Selector: '/Selector' incorporates: * Selector: '/Selector' */ rtb_DataTypeConversion_dl = rtb_uDLookupTable7_g[rtb_DataTypeConversion3_l4 - 1]; /* Switch: '/Switch' incorporates: * RelationalOperator: '/UpperRelop' * Selector: '/Selector' */ if (rtb_MultiportSwitch_ks >= rtb_DataTypeConversion_dl) { rtb_DataTypeConversion_dl = rtb_MultiportSwitch_ks; } /* End of Switch: '/Switch' */ } /* End of Switch: '/Switch2' */ /* Switch: '/Switch1' incorporates: * Constant: '/manual1' * RelationalOperator: '/Equal2' * UnitDelay: '/Unit Delay1' */ if (rtDW.UnitDelay1_DSTATE_j == 0) { Gain1 = rtB.MultiportSwitch_a; } else { /* Sum: '/Add' incorporates: * DataTypeConversion: '/Data Type Conversion' * DataTypeConversion: '/Data Type Conversion' * Gain: '/Gain' * Product: '/Product' */ index_start = 0.01 * (double)rtb_y_cb * (double)(uint16_t) rtb_DataTypeConversion_dl + (double)(uint16_t)rtb_DataTypeConversion_dl; /* DataTypeConversion: '/Data Type Conversion1' */ if (fabs(index_start) >= 0.5) { Gain1 = (uint16_t)floor(index_start + 0.5); } else { Gain1 = 0U; } /* End of DataTypeConversion: '/Data Type Conversion1' */ } /* End of Switch: '/Switch1' */ /* Switch: '/Switch' incorporates: * Constant: '/Constant' * Constant: '/Constant' * Constant: '/Constant' * DataStoreRead: '/AF from Start Control' * DataStoreRead: '/Data Store Read' * Logic: '/Logical Operator' * RelationalOperator: '/Compare' * RelationalOperator: '/Compare' * RelationalOperator: '/Compare' */ if ((rtDW.step_start_controle_front == 0) || (rtDW.step_start_controle_front == 1) || (rtDW.step_start_controle_front == 2)) { rtb_out_ihi = rtDW.Blower_FR; } else { rtb_out_ihi = Gain1; } /* Sum: '/Add' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read2' * Sum: '/Add' * Switch: '/Switch' */ rtb_DataTypeConversion3_l4 = (uint8_t)((uint8_t)((uint32_t)(uint8_t) rtb_out_ihi + (uint8_t)rtDW.FR_blower_AF_offset_autodemist) + rtDW.Blower_individual_foot_FR); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_FR_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed' */ AFforspeed(rtb_out_eix, 7.0, &rtb_out_m44); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_FR_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed' */ AFforspeed(rtb_out_eix, 7.0, &rtb_out_l4w); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_FR_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed' */ AFforspeed(rtb_out_eix, 7.0, &rtb_out_lac); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_FR_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed' */ AFforspeed(rtb_out_eix, 7.0, &rtb_out_mxq); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_FR_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed' */ AFforspeed(rtb_out_eix, 6.0, &rtb_out_ihi); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_FR_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed' */ AFforspeed(rtb_out_eix, 6.0, &rtb_out_a2e); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read2' */ switch (rtDW.LEVEL) { case 0: case 1: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/LOW1' * Constant: '/LOW2' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Logic: '/Logical Operator1' * Logic: '/Logical Operator2' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)((uint32_t)(((rtDW.CCU_MODE_FR == 1) && (rtDW.LO_HI_MODE_FR == 1)) << 1) + (uint32_t)((rtDW.CCU_MODE_FL == 1) && (rtDW.LO_HI_MODE_FL == 1)))) { case 1: rtb_out_ihi = rtb_DataTypeConversion3_l4; break; case 2: rtb_out_ihi = rtb_out_m44; break; case 3: rtb_out_ihi = rtb_out_l4w; break; default: rtb_out_ihi = rtb_DataTypeConversion3_l4; break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; case 2: case 3: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/LOW1' * Constant: '/LOW2' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Logic: '/Logical Operator1' * Logic: '/Logical Operator2' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)((uint32_t)(((rtDW.CCU_MODE_FR == 1) && (rtDW.LO_HI_MODE_FR == 1)) << 1) + (uint32_t)((rtDW.CCU_MODE_FL == 1) && (rtDW.LO_HI_MODE_FL == 1)))) { case 1: rtb_out_ihi = rtb_DataTypeConversion3_l4; break; case 2: rtb_out_ihi = rtb_out_lac; break; case 3: rtb_out_ihi = rtb_out_mxq; break; default: rtb_out_ihi = rtb_DataTypeConversion3_l4; break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; default: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/LOW1' * Constant: '/LOW2' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Logic: '/Logical Operator1' * Logic: '/Logical Operator2' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)((uint32_t)(((rtDW.CCU_MODE_FR == 1) && (rtDW.LO_HI_MODE_FR == 1)) << 1) + (uint32_t)((rtDW.CCU_MODE_FL == 1) && (rtDW.LO_HI_MODE_FL == 1)))) { case 1: rtb_out_ihi = rtb_DataTypeConversion3_l4; break; case 2: break; case 3: rtb_out_ihi = rtb_out_a2e; break; default: rtb_out_ihi = rtb_DataTypeConversion3_l4; break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_FR_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* Switch: '/switch speed' incorporates: * Constant: '/blower speed 2' * Constant: '/blower speed 6' * DataStoreRead: '/3 way valve' * RelationalOperator: '/Equal' */ if (rtb_Cmd_3Way == 2) { rtb_Gain2 = 6; } else { rtb_Gain2 = 2; } /* MATLAB Function: '/AF for speed' incorporates: * Switch: '/switch speed' */ AFforspeed(rtb_out_eix, (double)rtb_Gain2, &rtb_out_m44); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_FR_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed' */ AFforspeed(rtb_out_eix, 6.0, &rtb_out_l4w); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_FR_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed 6' */ AFforspeed(rtb_out_eix, 6.0, &rtb_out_lac); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_FR_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed' */ AFforspeed(rtb_out_eix, 6.0, &rtb_out_mxq); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_FR_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed 6' */ AFforspeed(rtb_out_eix, 6.0, &rtb_out_a2e); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_FR_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed' */ AFforspeed(rtb_out_eix, 6.0, &rtb_out_hpu); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read2' */ switch (rtDW.LEVEL) { case 0: case 1: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/HI' * Constant: '/HI1' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Logic: '/Logical Operator1' * Logic: '/Logical Operator2' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)((uint32_t)(((rtDW.CCU_MODE_FR == 1) && (rtDW.LO_HI_MODE_FR == 2)) << 1) + (uint32_t)((rtDW.CCU_MODE_FL == 1) && (rtDW.LO_HI_MODE_FL == 2)))) { case 1: break; case 2: rtb_out_ihi = rtb_out_m44; break; case 3: rtb_out_ihi = rtb_out_l4w; break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; case 2: case 3: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/HI' * Constant: '/HI1' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Logic: '/Logical Operator1' * Logic: '/Logical Operator2' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)((uint32_t)(((rtDW.CCU_MODE_FR == 1) && (rtDW.LO_HI_MODE_FR == 2)) << 1) + (uint32_t)((rtDW.CCU_MODE_FL == 1) && (rtDW.LO_HI_MODE_FL == 2)))) { case 1: break; case 2: rtb_out_ihi = rtb_out_lac; break; case 3: rtb_out_ihi = rtb_out_mxq; break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; default: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/HI' * Constant: '/HI1' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Logic: '/Logical Operator1' * Logic: '/Logical Operator2' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)((uint32_t)(((rtDW.CCU_MODE_FR == 1) && (rtDW.LO_HI_MODE_FR == 2)) << 1) + (uint32_t)((rtDW.CCU_MODE_FL == 1) && (rtDW.LO_HI_MODE_FL == 2)))) { case 1: break; case 2: rtb_out_ihi = rtb_out_a2e; break; case 3: rtb_out_ihi = rtb_out_hpu; break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* Switch: '/Switch' incorporates: * DataStoreRead: '/Data Store Read4' * DataStoreRead: '/Data Store Read5' */ if (rtDW.CCU_MODE_FR > 0) { rtDW.Index_mode_FR_manual = rtDW.Index_mode_FR_auto; } /* MATLAB Function: '/param index for mode' incorporates: * Switch: '/Switch' */ paramindexformode(rtDW.Index_mode_FR_manual, &rtb_D_la); /* Switch: '/Switch8' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read10' * DataStoreRead: '/Data Store Read2' * Switch: '/Switch1' */ if (rtDW.Max_def_algo_active) { rtb_Switch1_j = 3U; rtb_DataTypeConversion3_l4 = 3U; } else { rtb_Switch1_j = rtDW.DRS_SFR; rtb_DataTypeConversion3_l4 = rtDW.DRS_CFR; } /* End of Switch: '/Switch8' */ /* MATLAB Function: '/FL AF * percent DRS' */ /* : index_start = (param_index - 1) * 3 + 1; */ index_start = (rtb_D_la - 1.0) * 3.0 + 1.0; /* : if DRS_side == 0 */ if (rtb_Switch1_j == 0) { /* : side_percent = uint8(0); */ rtb_DataTypeConversion1_nc = 0U; } else { /* : else */ /* : side_percent = g_aucFRONT_SIDE_DRS_PERCENT_AF(index_start + 3 - DRS_side); */ rtb_I_od = rt_roundd((index_start + 3.0) - (double)rtb_Switch1_j); if (rtb_I_od < 256.0) { if (rtb_I_od >= 0.0) { rtb_DataTypeConversion3_gz = (uint8_t)rtb_I_od; } else { rtb_DataTypeConversion3_gz = 0U; } } else { rtb_DataTypeConversion3_gz = UINT8_MAX; } rtb_DataTypeConversion1_nc = g_aucFRONT_SIDE_DRS_PERCENT_AF[rtb_DataTypeConversion3_gz - 1]; } /* : if DRS_center == 0 */ if (rtb_DataTypeConversion3_l4 == 0) { /* : center_percent = uint8(0); */ rtb_DataTypeConversion3_gz = 0U; } else { /* : else */ /* : center_percent = g_aucFRONT_CENT_DRS_PERCENT_AF(index_start + 3 - DRS_center); */ rtb_I_od = rt_roundd((index_start + 3.0) - (double) rtb_DataTypeConversion3_l4); if (rtb_I_od < 256.0) { if (rtb_I_od >= 0.0) { rtb_DataTypeConversion3_gz = (uint8_t)rtb_I_od; } else { rtb_DataTypeConversion3_gz = 0U; } } else { rtb_DataTypeConversion3_gz = UINT8_MAX; } rtb_DataTypeConversion3_gz = g_aucFRONT_CENT_DRS_PERCENT_AF[rtb_DataTypeConversion3_gz - 1]; } /* Switch: '/Switch9' incorporates: * DataStoreRead: '/Data Store Read21' * DataStoreRead: '/Data Store Read22' * DataStoreRead: '/Data Store Read5' * DataStoreWrite: '/Data Store Write20' * Switch: '/Switch7' */ /* : percent = double(side_percent + center_percent) / 2 / 100; */ /* : y = uint16(double(AF_in) * percent); */ if (rtDW.Max_def_algo_active) { Gain1 = rtDW.Max_def_FR_blower_AF; } else if (rtDW.CCU_AC_MAX <= 0) { /* MATLAB Function: '/FL AF * percent DRS' incorporates: * DataStoreWrite: '/Data Store Write20' */ rtb_Gain2 = (int32_t)((uint32_t)rtb_DataTypeConversion1_nc + rtb_DataTypeConversion3_gz); if ((uint32_t)rtb_Gain2 > 255U) { rtb_Gain2 = 255; } rtb_Gain2 = (int32_t)rt_roundd((double)rtb_Gain2 / 2.0 / 100.0 * (double) rtb_out_ihi); if (rtb_Gain2 < 65536) { Gain1 = (uint16_t)rtb_Gain2; } else { Gain1 = UINT16_MAX; } } /* End of Switch: '/Switch9' */ /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_FL_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* Switch: '/switch speed' incorporates: * Constant: '/blower speed 2' * Constant: '/blower speed 6' * DataStoreRead: '/3 way valve' * DataStoreWrite: '/Data Store Write27' * Logic: '/Logical Operator' * RelationalOperator: '/Equal' * RelationalOperator: '/Equal1' */ if ((rtb_Cmd_3Way == 2) && (rtB.Cmd_2Way == 1)) { rtb_Gain2 = 6; } else { rtb_Gain2 = 2; } /* MATLAB Function: '/AF for speed' incorporates: * Switch: '/switch speed' */ AFforspeed(rtb_out_eix, (double)rtb_Gain2, &rtb_out_ihi); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_RL_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed' */ AFforspeed(rtb_out_eix, 6.0, &rtb_out_l4w); /* Outputs for Enabled SubSystem: '/Rear Left AF - manual directions' */ /* RelationalOperator: '/Equal2' incorporates: * Constant: '/Constant2' * DataStoreRead: '/Data Store Read44' * DataStoreRead: '/Data Store Read18' * DataStoreRead: '/Data Store Read19' * DataStoreRead: '/Data Store Read20' */ RearLeftAFmanualdirections((rtDW.CCU_MODE_RL == 0), rtDW.CCU_BLOWERS_RL, rtDW.CCU_FACE_RL, rtDW.CCU_FOOT_RL, &rtB.MultiportSwitch_m); /* End of Outputs for SubSystem: '/Rear Left AF - manual directions' */ /* Saturate: '/Saturation7' incorporates: * DataStoreRead: '/Data Store Read32' */ /* : y = g_ascAUTO_STEP_AF_R(AF_STEP); */ if (rtDW.CCU_SET_RL > 290) { rtb_out_m44 = 290U; } else if (rtDW.CCU_SET_RL < 170) { rtb_out_m44 = 170U; } else { rtb_out_m44 = rtDW.CCU_SET_RL; } /* End of Saturate: '/Saturation7' */ /* Gain: '/Gain2' incorporates: * Bias: '/Bias2' * DataTypeConversion: '/Data Type Conversion2' * Gain: '/Gain2' * Gain: '/Gain1' */ rtb_Gain2 = ((int32_t)((52429U * rtb_out_m44) >> 19) + -15) << 14; /* DataTypeConversion: '/Data Type Conversion1' incorporates: * Gain: '/Gain2' * Saturate: '/Saturation2' */ rtb_DataTypeConversion3_l4 = (uint8_t)((((uint32_t)rtb_Gain2 & 16384U) != 0U) + (rtb_Gain2 >> 15)); /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Lookup_n-D: '/1-D Lookup Table10' * Lookup_n-D: '/1-D Lookup Table11' * Lookup_n-D: '/1-D Lookup Table6' * Lookup_n-D: '/1-D Lookup Table7' * Lookup_n-D: '/1-D Lookup Table8' * Lookup_n-D: '/1-D Lookup Table9' * Saturate: '/Saturation7' */ switch (rtb_timer_out) { case 0: rtb_MultiportSwitch_ks = look1_iu16lu64n48ts16Ds32_binlcs(rtb_out_m44, rtConstP.pooled81, &g_assVTG_RL_LV0[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table6' * Lookup_n-D: '/1-D Lookup Table' * Saturate: '/Saturation7' */ rtb_DataTypeConversion_dl = look1_iu16bs16lu64n32ts16Ds32_binlcs(rtb_out_m44, rtConstP.pooled54, &g_assINCAR_TG_RL_LV0[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch1' */ rtb_VectorConcatenate_lb[0] = g_assVR_INC_Y1_LV0[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[1] = g_assVR_INC_Y2_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: rtb_MultiportSwitch_ks = look1_iu16lu64n48ts16Ds32_binlcs(rtb_out_m44, rtConstP.pooled81, &g_assVTG_RL_LV1[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table7' * Lookup_n-D: '/1-D Lookup Table1' * Saturate: '/Saturation7' */ rtb_DataTypeConversion_dl = look1_iu16bs16lu64n32ts16Ds32_binlcs(rtb_out_m44, rtConstP.pooled54, &g_assINCAR_TG_RL_LV1[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * MultiPortSwitch: '/Multiport Switch1' */ rtb_VectorConcatenate_lb[0] = g_assVR_INC_Y1_LV1[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[1] = g_assVR_INC_Y2_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: rtb_MultiportSwitch_ks = look1_iu16lu64n48ts16Ds32_binlcs(rtb_out_m44, rtConstP.pooled81, &g_assVTG_RL_LV1[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table8' * Lookup_n-D: '/1-D Lookup Table2' * Saturate: '/Saturation7' */ rtb_DataTypeConversion_dl = look1_iu16bs16lu64n32ts16Ds32_binlcs(rtb_out_m44, rtConstP.pooled54, &g_assINCAR_TG_RL_LV2[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * MultiPortSwitch: '/Multiport Switch1' */ rtb_VectorConcatenate_lb[0] = g_assVR_INC_Y1_LV2[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[1] = g_assVR_INC_Y2_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: rtb_MultiportSwitch_ks = look1_iu16lu64n48ts16Ds32_binlcs(rtb_out_m44, rtConstP.pooled81, &g_assVTG_RL_LV3[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table9' * Lookup_n-D: '/1-D Lookup Table3' * Saturate: '/Saturation7' */ rtb_DataTypeConversion_dl = look1_iu16bs16lu64n32ts16Ds32_binlcs(rtb_out_m44, rtConstP.pooled54, &g_assINCAR_TG_RL_LV3[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * MultiPortSwitch: '/Multiport Switch1' */ rtb_VectorConcatenate_lb[0] = g_assVR_INC_Y1_LV3[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[1] = g_assVR_INC_Y2_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: rtb_MultiportSwitch_ks = look1_iu16lu64n48ts16Ds32_binlcs(rtb_out_m44, rtConstP.pooled81, &g_assVTG_RL_LV4[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table10' * Lookup_n-D: '/1-D Lookup Table4' * Saturate: '/Saturation7' */ rtb_DataTypeConversion_dl = look1_iu16bs16lu64n32ts16Ds32_binlcs(rtb_out_m44, rtConstP.pooled54, &g_assINCAR_TG_RL_LV4[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * MultiPortSwitch: '/Multiport Switch1' */ rtb_VectorConcatenate_lb[0] = g_assVR_INC_Y1_LV4[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[1] = g_assVR_INC_Y2_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: rtb_MultiportSwitch_ks = look1_iu16lu64n48ts16Ds32_binlcs(rtb_out_m44, rtConstP.pooled81, &g_assVTG_RL_LV5[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table11' * Lookup_n-D: '/1-D Lookup Table5' * Saturate: '/Saturation7' */ rtb_DataTypeConversion_dl = look1_iu16bs16lu64n32ts16Ds32_binlcs(rtb_out_m44, rtConstP.pooled54, &g_assINCAR_TG_RL_LV5[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * MultiPortSwitch: '/Multiport Switch1' */ rtb_VectorConcatenate_lb[0] = g_assVR_INC_Y1_LV5[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[1] = g_assVR_INC_Y2_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_lb[2] = 0; /* MultiPortSwitch: '/Multiport Switch3' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector2' incorporates: * Constant: '/Constant14' */ rtb_VectorConcatenate_lb[3] = g_assVR_INC_Y3_LV0[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant20' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_lb[4] = g_assVR_INC_Y4_LV0[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector2' */ rtb_VectorConcatenate_jn[0] = g_assVR_INC_X1_LV0[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector2' */ rtb_VectorConcatenate_jn[1] = g_assVR_INC_X2_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: /* Selector: '/Selector2' incorporates: * Constant: '/Constant15' */ rtb_VectorConcatenate_lb[3] = g_assVR_INC_Y3_LV1[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant21' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_lb[4] = g_assVR_INC_Y4_LV1[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector2' */ rtb_VectorConcatenate_jn[0] = g_assVR_INC_X1_LV1[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector2' */ rtb_VectorConcatenate_jn[1] = g_assVR_INC_X2_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: /* Selector: '/Selector2' incorporates: * Constant: '/Constant16' */ rtb_VectorConcatenate_lb[3] = g_assVR_INC_Y3_LV2[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant22' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_lb[4] = g_assVR_INC_Y4_LV2[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector2' */ rtb_VectorConcatenate_jn[0] = g_assVR_INC_X1_LV2[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector2' */ rtb_VectorConcatenate_jn[1] = g_assVR_INC_X2_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: /* Selector: '/Selector2' incorporates: * Constant: '/Constant17' */ rtb_VectorConcatenate_lb[3] = g_assVR_INC_Y3_LV3[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant23' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_lb[4] = g_assVR_INC_Y4_LV3[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector2' */ rtb_VectorConcatenate_jn[0] = g_assVR_INC_X1_LV3[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector2' */ rtb_VectorConcatenate_jn[1] = g_assVR_INC_X2_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: /* Selector: '/Selector2' incorporates: * Constant: '/Constant12' */ rtb_VectorConcatenate_lb[3] = g_assVR_INC_Y3_LV4[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant18' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_lb[4] = g_assVR_INC_Y4_LV4[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector2' */ rtb_VectorConcatenate_jn[0] = g_assVR_INC_X1_LV4[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector2' */ rtb_VectorConcatenate_jn[1] = g_assVR_INC_X2_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: /* Selector: '/Selector2' incorporates: * Constant: '/Constant13' */ rtb_VectorConcatenate_lb[3] = g_assVR_INC_Y3_LV5[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant19' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_lb[4] = g_assVR_INC_Y4_LV5[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector2' */ rtb_VectorConcatenate_jn[0] = g_assVR_INC_X1_LV5[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector2' */ rtb_VectorConcatenate_jn[1] = g_assVR_INC_X2_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch3' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_jn[2] = 0; /* MultiPortSwitch: '/Multiport Switch3' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector2' incorporates: * Constant: '/Constant14' */ rtb_VectorConcatenate_jn[3] = g_assVR_INC_X3_LV0[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant20' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_jn[4] = g_assVR_INC_X4_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: /* Selector: '/Selector2' incorporates: * Constant: '/Constant15' */ rtb_VectorConcatenate_jn[3] = g_assVR_INC_X3_LV1[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant21' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_jn[4] = g_assVR_INC_X4_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: /* Selector: '/Selector2' incorporates: * Constant: '/Constant16' */ rtb_VectorConcatenate_jn[3] = g_assVR_INC_X3_LV2[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant22' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_jn[4] = g_assVR_INC_X4_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: /* Selector: '/Selector2' incorporates: * Constant: '/Constant17' */ rtb_VectorConcatenate_jn[3] = g_assVR_INC_X3_LV3[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant23' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_jn[4] = g_assVR_INC_X4_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: /* Selector: '/Selector2' incorporates: * Constant: '/Constant12' */ rtb_VectorConcatenate_jn[3] = g_assVR_INC_X3_LV4[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant18' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_jn[4] = g_assVR_INC_X4_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: /* Selector: '/Selector2' incorporates: * Constant: '/Constant13' */ rtb_VectorConcatenate_jn[3] = g_assVR_INC_X3_LV5[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant19' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_jn[4] = g_assVR_INC_X4_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch3' */ /* Lookup_n-D: '/2.5 FLU_tg_incar' incorporates: * DataStoreRead: '/Data Store Read37' * Sum: '/2.5. X = Incar_Tg - Incar_fb' */ rtb_MultiportSwitch_oa = look1_is16lu64n32Ds32_binlcn((int16_t) (rtb_DataTypeConversion_dl - rtDW.Incar_RL), rtb_VectorConcatenate_jn, rtb_VectorConcatenate_lb, 4U); /* MultiPortSwitch: '/Multiport Switch1' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector' incorporates: * Constant: '/Constant' */ rtb_VectorConcatenate_dw[0] = g_assVR_AMB_Y1_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: /* Selector: '/Selector' incorporates: * Constant: '/Constant1' */ rtb_VectorConcatenate_dw[0] = g_assVR_AMB_Y1_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: /* Selector: '/Selector' incorporates: * Constant: '/Constant2' */ rtb_VectorConcatenate_dw[0] = g_assVR_AMB_Y1_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: /* Selector: '/Selector' incorporates: * Constant: '/Constant3' */ rtb_VectorConcatenate_dw[0] = g_assVR_AMB_Y1_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: /* Selector: '/Selector' incorporates: * Constant: '/Constant4' */ rtb_VectorConcatenate_dw[0] = g_assVR_AMB_Y1_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: /* Selector: '/Selector' incorporates: * Constant: '/Constant5' */ rtb_VectorConcatenate_dw[0] = g_assVR_AMB_Y1_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_dw[1] = 0; /* MultiPortSwitch: '/Multiport Switch2' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' */ rtb_VectorConcatenate_dw[2] = g_assVR_AMB_Y2_LV0[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector1' */ rtb_VectorConcatenate_pg[0] = g_assVR_AMB_X1_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' */ rtb_VectorConcatenate_dw[2] = g_assVR_AMB_Y2_LV1[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector1' */ rtb_VectorConcatenate_pg[0] = g_assVR_AMB_X1_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' */ rtb_VectorConcatenate_dw[2] = g_assVR_AMB_Y2_LV2[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector1' */ rtb_VectorConcatenate_pg[0] = g_assVR_AMB_X1_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' */ rtb_VectorConcatenate_dw[2] = g_assVR_AMB_Y2_LV3[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector1' */ rtb_VectorConcatenate_pg[0] = g_assVR_AMB_X1_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' */ rtb_VectorConcatenate_dw[2] = g_assVR_AMB_Y2_LV4[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector1' */ rtb_VectorConcatenate_pg[0] = g_assVR_AMB_X1_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' */ rtb_VectorConcatenate_dw[2] = g_assVR_AMB_Y2_LV5[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector1' */ rtb_VectorConcatenate_pg[0] = g_assVR_AMB_X1_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch2' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_pg[1] = 0; /* MultiPortSwitch: '/Multiport Switch2' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' */ rtb_VectorConcatenate_pg[2] = g_assVR_AMB_X2_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' */ rtb_VectorConcatenate_pg[2] = g_assVR_AMB_X2_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' */ rtb_VectorConcatenate_pg[2] = g_assVR_AMB_X2_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' */ rtb_VectorConcatenate_pg[2] = g_assVR_AMB_X2_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' */ rtb_VectorConcatenate_pg[2] = g_assVR_AMB_X2_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' */ rtb_VectorConcatenate_pg[2] = g_assVR_AMB_X2_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch2' */ /* Lookup_n-D: '/2.6 FLU_tg_amb' */ rtb_u5FRU_tg_incar = look1_is16lu64n32Ds32_binlcn(rtb_MultiportSwitch_az, rtb_VectorConcatenate_pg, rtb_VectorConcatenate_dw, 2U); /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_gn[0] = 0; /* MultiPortSwitch: '/Multiport Switch1' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector' incorporates: * Constant: '/Constant' */ rtb_VectorConcatenate_gn[1] = g_assVR_SUN_Y1_LV0[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assVR_SUN_Y2_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: /* Selector: '/Selector' incorporates: * Constant: '/Constant1' */ rtb_VectorConcatenate_gn[1] = g_assVR_SUN_Y1_LV1[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assVR_SUN_Y2_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: /* Selector: '/Selector' incorporates: * Constant: '/Constant2' */ rtb_VectorConcatenate_gn[1] = g_assVR_SUN_Y1_LV2[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assVR_SUN_Y2_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: /* Selector: '/Selector' incorporates: * Constant: '/Constant3' */ rtb_VectorConcatenate_gn[1] = g_assVR_SUN_Y1_LV3[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assVR_SUN_Y2_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: /* Selector: '/Selector' incorporates: * Constant: '/Constant4' */ rtb_VectorConcatenate_gn[1] = g_assVR_SUN_Y1_LV4[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assVR_SUN_Y2_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: /* Selector: '/Selector' incorporates: * Constant: '/Constant5' */ rtb_VectorConcatenate_gn[1] = g_assVR_SUN_Y1_LV5[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_gn[2] = g_assVR_SUN_Y2_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_np[0] = 0; /* MultiPortSwitch: '/Multiport Switch1' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector' incorporates: * Constant: '/Constant' */ rtb_VectorConcatenate_np[1] = g_assVR_SUN_X1_LV0[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assVR_SUN_X2_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: /* Selector: '/Selector' incorporates: * Constant: '/Constant1' */ rtb_VectorConcatenate_np[1] = g_assVR_SUN_X1_LV1[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assVR_SUN_X2_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: /* Selector: '/Selector' incorporates: * Constant: '/Constant2' */ rtb_VectorConcatenate_np[1] = g_assVR_SUN_X1_LV2[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assVR_SUN_X2_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: /* Selector: '/Selector' incorporates: * Constant: '/Constant3' */ rtb_VectorConcatenate_np[1] = g_assVR_SUN_X1_LV3[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assVR_SUN_X2_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: /* Selector: '/Selector' incorporates: * Constant: '/Constant4' */ rtb_VectorConcatenate_np[1] = g_assVR_SUN_X1_LV4[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assVR_SUN_X2_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: /* Selector: '/Selector' incorporates: * Constant: '/Constant5' */ rtb_VectorConcatenate_np[1] = g_assVR_SUN_X1_LV5[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_np[2] = g_assVR_SUN_X2_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* Lookup_n-D: '/2.6 FLU_tg_amb' incorporates: * DataStoreRead: '/Data Store Read39' */ rtb_u6FRU_tg_amb_f = look1_bs16ts16Dd_binlc(rtDW.Sun_L, rtb_VectorConcatenate_np, rtb_VectorConcatenate_gn, 2U); /* Switch: '/Switch' incorporates: * Constant: '/manual2' * Constant: '/Constant' * Constant: '/Constant' * Constant: '/Constant' * DataStoreRead: '/AF from Start Control' * DataStoreRead: '/Data Store Read' * Logic: '/Logical Operator' * RelationalOperator: '/Equal3' * RelationalOperator: '/Compare' * RelationalOperator: '/Compare' * RelationalOperator: '/Compare' * Switch: '/Switch2' * UnitDelay: '/Unit Delay2' */ if ((rtDW.step_start_controle_rear == 0) || (rtDW.step_start_controle_rear == 1) || (rtDW.step_start_controle_rear == 2)) { rtb_out_m44 = rtDW.Blower_RL; } else if (rtDW.UnitDelay2_DSTATE == 0) { /* Switch: '/Switch2' */ rtb_out_m44 = rtB.MultiportSwitch_m; } else { /* Sum: '/2.8. Vtg_FX_plus' incorporates: * Switch: '/Switch2' */ rtb_DataTypeConversion_dl = (int16_t)((int16_t)((int16_t) (rtb_MultiportSwitch_ks + rtb_MultiportSwitch_oa) + rtb_u5FRU_tg_incar) + rtb_u6FRU_tg_amb_f); /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * Constant: '/Constant2' * Constant: '/Constant3' * Constant: '/Constant4' * Constant: '/Constant5' * Switch: '/Switch2' */ switch (rtb_timer_out) { case 0: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assVR_MAX_LV0[i]; } break; case 1: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assVR_MAX_LV1[i]; } break; case 2: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assVR_MAX_LV2[i]; } break; case 3: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assVR_MAX_LV3[i]; } break; case 4: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assVR_MAX_LV4[i]; } break; default: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assVR_MAX_LV5[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* Selector: '/Selector' incorporates: * Switch: '/Switch2' */ rtb_u6FRU_tg_amb = rtb_uDLookupTable7_g[rtb_DataTypeConversion3_l4 - 1]; /* Switch: '/Switch2' incorporates: * RelationalOperator: '/LowerRelop1' * Switch: '/Switch2' */ if (rtb_DataTypeConversion_dl <= rtb_u6FRU_tg_amb) { /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * Constant: '/Constant2' * Constant: '/Constant3' * Constant: '/Constant4' * Constant: '/Constant5' */ switch (rtb_timer_out) { case 0: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assVR_MIN_LV0[i]; } break; case 1: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assVR_MIN_LV1[i]; } break; case 2: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assVR_MIN_LV2[i]; } break; case 3: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assVR_MIN_LV3[i]; } break; case 4: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assVR_MIN_LV4[i]; } break; default: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assVR_MIN_LV5[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* Selector: '/Selector' incorporates: * Selector: '/Selector' */ rtb_u6FRU_tg_amb = rtb_uDLookupTable7_g[rtb_DataTypeConversion3_l4 - 1]; /* Switch: '/Switch' incorporates: * RelationalOperator: '/UpperRelop' * Selector: '/Selector' */ if (rtb_DataTypeConversion_dl >= rtb_u6FRU_tg_amb) { rtb_u6FRU_tg_amb = rtb_DataTypeConversion_dl; } /* End of Switch: '/Switch' */ } /* End of Switch: '/Switch2' */ /* Sum: '/Add' incorporates: * DataStoreRead: '/Data Store Read' * DataTypeConversion: '/Data Type Conversion' * DataTypeConversion: '/Data Type Conversion1' * DataTypeConversion: '/Data Type Conversion2' * Gain: '/Gain' * MATLAB Function: '/func g_ascAUTO_STEP_AF_F' * Product: '/Product' * Switch: '/Switch2' */ index_start = (double)g_ascAUTO_STEP_AF_R[(int8_t)rtDW.CCU_AUTOMODE_RL - 1] * 0.01 * (double)(uint16_t)rtb_u6FRU_tg_amb + (double)(uint16_t) rtb_u6FRU_tg_amb; /* DataTypeConversion: '/Data Type Conversion2' incorporates: * Switch: '/Switch2' */ if (fabs(index_start) >= 0.5) { rtb_out_m44 = (uint16_t)floor(index_start + 0.5); } else { rtb_out_m44 = 0U; } /* End of DataTypeConversion: '/Data Type Conversion2' */ } /* End of Switch: '/Switch' */ /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_RL_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed' */ AFforspeed(rtb_out_eix, 6.0, &rtb_out_lac); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_RL_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed' */ AFforspeed(rtb_out_eix, 5.0, &rtb_out_mxq); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_RL_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed' */ AFforspeed(rtb_out_eix, 7.0, &rtb_out_mxq); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_RL_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed' */ AFforspeed(rtb_out_eix, 7.0, &rtb_out_a2e); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_RL_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed' */ AFforspeed(rtb_out_eix, 6.0, &rtb_out_hpu); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_RL_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed' */ AFforspeed(rtb_out_eix, 7.0, &rtb_out_hpu); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_RL_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed' */ AFforspeed(rtb_out_eix, 7.0, &rtb_out_l1e); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_RL_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed' */ AFforspeed(rtb_out_eix, 6.0, &rtb_out_gi); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read2' */ switch (rtDW.LEVEL) { case 0: case 1: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/LOW1' * Constant: '/LOW2' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)((uint32_t)(((rtDW.LO_HI_MODE_RR == 1) && (rtDW.CCU_MODE_RR == 1)) << 1) + (uint32_t)((rtDW.CCU_MODE_RL == 1) && (rtDW.LO_HI_MODE_RL == 1)))) { case 1: rtb_out_m44 = rtb_out_l4w; break; case 2: break; case 3: rtb_out_m44 = rtb_out_lac; break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; case 2: case 3: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/LOW1' * Constant: '/LOW2' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)((uint32_t)(((rtDW.LO_HI_MODE_RR == 1) && (rtDW.CCU_MODE_RR == 1)) << 1) + (uint32_t)((rtDW.CCU_MODE_RL == 1) && (rtDW.LO_HI_MODE_RL == 1)))) { case 1: rtb_out_m44 = rtb_out_mxq; break; case 2: break; case 3: rtb_out_m44 = rtb_out_a2e; break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; default: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/LOW1' * Constant: '/LOW2' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)((uint32_t)(((rtDW.LO_HI_MODE_RR == 1) && (rtDW.CCU_MODE_RR == 1)) << 1) + (uint32_t)((rtDW.CCU_MODE_RL == 1) && (rtDW.LO_HI_MODE_RL == 1)))) { case 1: rtb_out_m44 = rtb_out_hpu; break; case 2: break; case 3: rtb_out_m44 = rtb_out_l1e; break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_FL_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed' */ AFforspeed(rtb_out_eix, 6.0, &rtb_out_l4w); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_FL_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* Switch: '/switch speed' incorporates: * Constant: '/blower speed 2' * Constant: '/blower speed 6' * DataStoreRead: '/3 way valve' * DataStoreWrite: '/Data Store Write27' * Logic: '/Logical Operator' * RelationalOperator: '/Equal' * RelationalOperator: '/Equal1' */ if ((rtb_Cmd_3Way == 2) && (rtB.Cmd_2Way == 1)) { rtb_Gain2 = 6; } else { rtb_Gain2 = 2; } /* MATLAB Function: '/AF for speed' incorporates: * Switch: '/switch speed' */ AFforspeed(rtb_out_eix, (double)rtb_Gain2, &rtb_out_lac); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_FL_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed' */ AFforspeed(rtb_out_eix, 6.0, &rtb_out_mxq); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_FL_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* Switch: '/switch speed' incorporates: * Constant: '/blower speed 2' * Constant: '/blower speed 6' * DataStoreWrite: '/Data Store Write27' * RelationalOperator: '/Equal1' */ if (rtB.Cmd_2Way == 1) { rtb_Gain2 = 6; } else { rtb_Gain2 = 2; } /* MATLAB Function: '/AF for speed' incorporates: * Switch: '/switch speed' */ AFforspeed(rtb_out_eix, (double)rtb_Gain2, &rtb_out_a2e); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_FL_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed' */ AFforspeed(rtb_out_eix, 6.0, &rtb_out_hpu); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read2' */ switch (rtDW.LEVEL) { case 0: case 1: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/HI' * Constant: '/HI1' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)((uint32_t)(((rtDW.LO_HI_MODE_RR == 2) && (rtDW.CCU_MODE_RR == 1)) << 1) + (uint32_t)((rtDW.CCU_MODE_RL == 1) && (rtDW.LO_HI_MODE_RL == 2)))) { case 1: rtb_out_m44 = rtb_out_ihi; break; case 2: break; case 3: rtb_out_m44 = rtb_out_l4w; break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; case 2: case 3: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/HI' * Constant: '/HI1' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)((uint32_t)(((rtDW.LO_HI_MODE_RR == 2) && (rtDW.CCU_MODE_RR == 1)) << 1) + (uint32_t)((rtDW.CCU_MODE_RL == 1) && (rtDW.LO_HI_MODE_RL == 2)))) { case 1: rtb_out_m44 = rtb_out_lac; break; case 2: break; case 3: rtb_out_m44 = rtb_out_mxq; break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; default: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/HI' * Constant: '/HI1' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)((uint32_t)(((rtDW.LO_HI_MODE_RR == 2) && (rtDW.CCU_MODE_RR == 1)) << 1) + (uint32_t)((rtDW.CCU_MODE_RL == 1) && (rtDW.LO_HI_MODE_RL == 2)))) { case 1: rtb_out_m44 = rtb_out_a2e; break; case 2: break; case 3: rtb_out_m44 = rtb_out_hpu; break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* Switch: '/Switch' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read4' * DataStoreRead: '/Data Store Read5' */ if (rtDW.CCU_MODE_RL > 0) { rtb_out_ihi = rtDW.Index_mode_RL_auto; } else { rtb_out_ihi = rtDW.Index_mode_RL_manual; } /* MATLAB Function: '/param index for mode' incorporates: * Switch: '/Switch' */ paramindexformode_h(rtb_out_ihi, &rtb_D_la); /* MATLAB Function: '/RL AF * percent DRS' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read2' */ /* : index_start = (param_index - 1) * 3 + 1; */ index_start = (rtb_D_la - 1.0) * 3.0 + 1.0; /* : if DRS_RLS == 0 */ if (rtDW.DRS_SRL == 0) { /* : side_percent = uint8(0); */ rtb_DataTypeConversion1_nc = 0U; } else { /* : else */ /* : side_percent = g_aucREAR_SIDE_DRS_PERCENT_AF(index_start + 3 - DRS_RLS); */ rtb_I_od = rt_roundd((index_start + 3.0) - (double)rtDW.DRS_SRL); if (rtb_I_od < 256.0) { if (rtb_I_od >= 0.0) { rtb_DataTypeConversion3_gz = (uint8_t)rtb_I_od; } else { rtb_DataTypeConversion3_gz = 0U; } } else { rtb_DataTypeConversion3_gz = UINT8_MAX; } rtb_DataTypeConversion1_nc = g_aucREAR_SIDE_DRS_PERCENT_AF[rtb_DataTypeConversion3_gz - 1]; } /* : if DRS_RLC == 0 */ if (rtDW.DRS_CRL == 0) { /* : center_percent = uint8(0); */ rtb_DataTypeConversion3_gz = 0U; } else { /* : else */ /* : center_percent = g_aucREAR_CENT_DRS_PERCENT_AF(index_start + 3 - DRS_RLC); */ rtb_I_od = rt_roundd((index_start + 3.0) - (double)rtDW.DRS_CRL); if (rtb_I_od < 256.0) { if (rtb_I_od >= 0.0) { rtb_DataTypeConversion3_gz = (uint8_t)rtb_I_od; } else { rtb_DataTypeConversion3_gz = 0U; } } else { rtb_DataTypeConversion3_gz = UINT8_MAX; } rtb_DataTypeConversion3_gz = g_aucREAR_CENT_DRS_PERCENT_AF[rtb_DataTypeConversion3_gz - 1]; } /* : percent = double(side_percent + center_percent) / 2 / 100; */ /* : y = uint16(double(AF_in) * percent); */ rtb_Gain2 = (int32_t)((uint32_t)rtb_DataTypeConversion1_nc + rtb_DataTypeConversion3_gz); if ((uint32_t)rtb_Gain2 > 255U) { rtb_Gain2 = 255; } rtb_Gain2 = (int32_t)rt_roundd((double)rtb_Gain2 / 2.0 / 100.0 * (double) rtb_out_m44); if (rtb_Gain2 < 65536) { rtb_out_ihi = (uint16_t)rtb_Gain2; } else { rtb_out_ihi = UINT16_MAX; } /* Outputs for Enabled SubSystem: '/Rear Right AF - manual directions' */ /* RelationalOperator: '/Equal1' incorporates: * Constant: '/Constant3' * DataStoreRead: '/Data Store Read45' * DataStoreRead: '/Data Store Read15' * DataStoreRead: '/Data Store Read16' * DataStoreRead: '/Data Store Read17' */ RearLeftAFmanualdirections((rtDW.CCU_MODE_RR == 0), rtDW.CCU_BLOWERS_RR, rtDW.CCU_FACE_RR, rtDW.CCU_FOOT_RR, &rtB.MultiportSwitch_c); /* End of Outputs for SubSystem: '/Rear Right AF - manual directions' */ /* Saturate: '/Saturation8' incorporates: * DataStoreRead: '/Data Store Read33' */ /* : y = g_ascAUTO_STEP_AF_F(AF_STEP); */ if (rtDW.CCU_SET_RR > 290) { rtb_out_m44 = 290U; } else if (rtDW.CCU_SET_RR < 170) { rtb_out_m44 = 170U; } else { rtb_out_m44 = rtDW.CCU_SET_RR; } /* End of Saturate: '/Saturation8' */ /* Gain: '/Gain4' incorporates: * Bias: '/Bias1' * DataTypeConversion: '/Data Type Conversion4' * Gain: '/Gain2' * Gain: '/Gain2' */ rtb_Gain2 = ((int32_t)((52429U * rtb_out_m44) >> 19) + -15) << 14; /* DataTypeConversion: '/Data Type Conversion3' incorporates: * Gain: '/Gain2' * Saturate: '/Saturation1' */ rtb_DataTypeConversion3_l4 = (uint8_t)((((uint32_t)rtb_Gain2 & 16384U) != 0U) + (rtb_Gain2 >> 15)); /* MultiPortSwitch: '/Multiport Switch2' incorporates: * Lookup_n-D: '/1-D Lookup Table1' * Lookup_n-D: '/1-D Lookup Table12' * Lookup_n-D: '/1-D Lookup Table2' * Lookup_n-D: '/1-D Lookup Table3' * Lookup_n-D: '/1-D Lookup Table4' * Lookup_n-D: '/1-D Lookup Table5' * Saturate: '/Saturation8' */ switch (rtb_timer_out) { case 0: rtb_u6FRU_tg_amb = look1_iu16lu64n48ts16Ds32_binlcs(rtb_out_m44, rtConstP.pooled81, &g_assVTG_RR_LV0[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table3' * Lookup_n-D: '/1-D Lookup Table' * Saturate: '/Saturation8' */ rtb_MultiportSwitch_if = look1_iu16bs16lu64n32ts16Ds32_binlcs(rtb_out_m44, rtConstP.pooled54, &g_assINCAR_TG_RR_LV0[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch1' */ rtb_VectorConcatenate_lb[0] = g_assVR_INC_Y1_LV0[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[1] = g_assVR_INC_Y2_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: rtb_u6FRU_tg_amb = look1_iu16lu64n48ts16Ds32_binlcs(rtb_out_m44, rtConstP.pooled81, &g_assVTG_RR_LV1[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table4' * Lookup_n-D: '/1-D Lookup Table1' * Saturate: '/Saturation8' */ rtb_MultiportSwitch_if = look1_iu16bs16lu64n32ts16Ds32_binlcs(rtb_out_m44, rtConstP.pooled54, &g_assINCAR_TG_RR_LV1[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * MultiPortSwitch: '/Multiport Switch1' */ rtb_VectorConcatenate_lb[0] = g_assVR_INC_Y1_LV1[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[1] = g_assVR_INC_Y2_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: rtb_u6FRU_tg_amb = look1_iu16lu64n48ts16Ds32_binlcs(rtb_out_m44, rtConstP.pooled81, &g_assVTG_RR_LV1[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table5' * Lookup_n-D: '/1-D Lookup Table2' * Saturate: '/Saturation8' */ rtb_MultiportSwitch_if = look1_iu16bs16lu64n32ts16Ds32_binlcs(rtb_out_m44, rtConstP.pooled54, &g_assINCAR_TG_RR_LV2[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * MultiPortSwitch: '/Multiport Switch1' */ rtb_VectorConcatenate_lb[0] = g_assVR_INC_Y1_LV2[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[1] = g_assVR_INC_Y2_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: rtb_u6FRU_tg_amb = look1_iu16lu64n48ts16Ds32_binlcs(rtb_out_m44, rtConstP.pooled81, &g_assVTG_RR_LV3[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table12' * Lookup_n-D: '/1-D Lookup Table3' * Saturate: '/Saturation8' */ rtb_MultiportSwitch_if = look1_iu16bs16lu64n32ts16Ds32_binlcs(rtb_out_m44, rtConstP.pooled54, &g_assINCAR_TG_RR_LV3[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * MultiPortSwitch: '/Multiport Switch1' */ rtb_VectorConcatenate_lb[0] = g_assVR_INC_Y1_LV3[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[1] = g_assVR_INC_Y2_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: rtb_u6FRU_tg_amb = look1_iu16lu64n48ts16Ds32_binlcs(rtb_out_m44, rtConstP.pooled81, &g_assVTG_RR_LV4[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table1' * Lookup_n-D: '/1-D Lookup Table4' * Saturate: '/Saturation8' */ rtb_MultiportSwitch_if = look1_iu16bs16lu64n32ts16Ds32_binlcs(rtb_out_m44, rtConstP.pooled54, &g_assINCAR_TG_RR_LV4[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * MultiPortSwitch: '/Multiport Switch1' */ rtb_VectorConcatenate_lb[0] = g_assVR_INC_Y1_LV4[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[1] = g_assVR_INC_Y2_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: rtb_u6FRU_tg_amb = look1_iu16lu64n48ts16Ds32_binlcs(rtb_out_m44, rtConstP.pooled81, &g_assVTG_RR_LV5[0], 12U); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Lookup_n-D: '/1-D Lookup Table2' * Lookup_n-D: '/1-D Lookup Table5' * Saturate: '/Saturation8' */ rtb_MultiportSwitch_if = look1_iu16bs16lu64n32ts16Ds32_binlcs(rtb_out_m44, rtConstP.pooled54, &g_assINCAR_TG_RR_LV5[0], 12U); /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * MultiPortSwitch: '/Multiport Switch1' */ rtb_VectorConcatenate_lb[0] = g_assVR_INC_Y1_LV5[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector' */ rtb_VectorConcatenate_lb[1] = g_assVR_INC_Y2_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch2' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_lb[2] = 0; /* MultiPortSwitch: '/Multiport Switch3' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector2' incorporates: * Constant: '/Constant14' */ rtb_VectorConcatenate_lb[3] = g_assVR_INC_Y3_LV0[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant20' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_lb[4] = g_assVR_INC_Y4_LV0[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector2' */ rtb_VectorConcatenate_jn[0] = g_assVR_INC_X1_LV0[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector2' */ rtb_VectorConcatenate_jn[1] = g_assVR_INC_X2_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: /* Selector: '/Selector2' incorporates: * Constant: '/Constant15' */ rtb_VectorConcatenate_lb[3] = g_assVR_INC_Y3_LV1[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant21' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_lb[4] = g_assVR_INC_Y4_LV1[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector2' */ rtb_VectorConcatenate_jn[0] = g_assVR_INC_X1_LV1[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector2' */ rtb_VectorConcatenate_jn[1] = g_assVR_INC_X2_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: /* Selector: '/Selector2' incorporates: * Constant: '/Constant16' */ rtb_VectorConcatenate_lb[3] = g_assVR_INC_Y3_LV2[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant22' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_lb[4] = g_assVR_INC_Y4_LV2[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector2' */ rtb_VectorConcatenate_jn[0] = g_assVR_INC_X1_LV2[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector2' */ rtb_VectorConcatenate_jn[1] = g_assVR_INC_X2_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: /* Selector: '/Selector2' incorporates: * Constant: '/Constant17' */ rtb_VectorConcatenate_lb[3] = g_assVR_INC_Y3_LV3[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant23' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_lb[4] = g_assVR_INC_Y4_LV3[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector2' */ rtb_VectorConcatenate_jn[0] = g_assVR_INC_X1_LV3[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector2' */ rtb_VectorConcatenate_jn[1] = g_assVR_INC_X2_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: /* Selector: '/Selector2' incorporates: * Constant: '/Constant12' */ rtb_VectorConcatenate_lb[3] = g_assVR_INC_Y3_LV4[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant18' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_lb[4] = g_assVR_INC_Y4_LV4[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector2' */ rtb_VectorConcatenate_jn[0] = g_assVR_INC_X1_LV4[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector2' */ rtb_VectorConcatenate_jn[1] = g_assVR_INC_X2_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: /* Selector: '/Selector2' incorporates: * Constant: '/Constant13' */ rtb_VectorConcatenate_lb[3] = g_assVR_INC_Y3_LV5[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant19' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_lb[4] = g_assVR_INC_Y4_LV5[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector2' */ rtb_VectorConcatenate_jn[0] = g_assVR_INC_X1_LV5[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' * MultiPortSwitch: '/Multiport Switch2' * Selector: '/Selector2' */ rtb_VectorConcatenate_jn[1] = g_assVR_INC_X2_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch3' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_jn[2] = 0; /* MultiPortSwitch: '/Multiport Switch3' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector2' incorporates: * Constant: '/Constant14' */ rtb_VectorConcatenate_jn[3] = g_assVR_INC_X3_LV0[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant20' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_jn[4] = g_assVR_INC_X4_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: /* Selector: '/Selector2' incorporates: * Constant: '/Constant15' */ rtb_VectorConcatenate_jn[3] = g_assVR_INC_X3_LV1[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant21' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_jn[4] = g_assVR_INC_X4_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: /* Selector: '/Selector2' incorporates: * Constant: '/Constant16' */ rtb_VectorConcatenate_jn[3] = g_assVR_INC_X3_LV2[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant22' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_jn[4] = g_assVR_INC_X4_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: /* Selector: '/Selector2' incorporates: * Constant: '/Constant17' */ rtb_VectorConcatenate_jn[3] = g_assVR_INC_X3_LV3[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant23' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_jn[4] = g_assVR_INC_X4_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: /* Selector: '/Selector2' incorporates: * Constant: '/Constant12' */ rtb_VectorConcatenate_jn[3] = g_assVR_INC_X3_LV4[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant18' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_jn[4] = g_assVR_INC_X4_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: /* Selector: '/Selector2' incorporates: * Constant: '/Constant13' */ rtb_VectorConcatenate_jn[3] = g_assVR_INC_X3_LV5[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector3' incorporates: * Constant: '/Constant19' * MultiPortSwitch: '/Multiport Switch4' * Selector: '/Selector2' */ rtb_VectorConcatenate_jn[4] = g_assVR_INC_X4_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch3' */ /* Lookup_n-D: '/2.5 FLU_tg_incar' incorporates: * DataStoreRead: '/Data Store Read38' * Sum: '/2.5. X = Inc_Tg - Incar_fb' */ rtb_MultiportSwitch_if = look1_is16lu64n32Ds32_binlcn((int16_t) (rtb_MultiportSwitch_if - rtDW.Incar_RR), rtb_VectorConcatenate_jn, rtb_VectorConcatenate_lb, 4U); /* MultiPortSwitch: '/Multiport Switch1' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector' incorporates: * Constant: '/Constant' */ rtb_VectorConcatenate_dw[0] = g_assVR_AMB_Y1_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: /* Selector: '/Selector' incorporates: * Constant: '/Constant1' */ rtb_VectorConcatenate_dw[0] = g_assVR_AMB_Y1_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: /* Selector: '/Selector' incorporates: * Constant: '/Constant2' */ rtb_VectorConcatenate_dw[0] = g_assVR_AMB_Y1_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: /* Selector: '/Selector' incorporates: * Constant: '/Constant3' */ rtb_VectorConcatenate_dw[0] = g_assVR_AMB_Y1_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: /* Selector: '/Selector' incorporates: * Constant: '/Constant4' */ rtb_VectorConcatenate_dw[0] = g_assVR_AMB_Y1_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: /* Selector: '/Selector' incorporates: * Constant: '/Constant5' */ rtb_VectorConcatenate_dw[0] = g_assVR_AMB_Y1_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_dw[1] = 0; /* MultiPortSwitch: '/Multiport Switch2' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' */ rtb_VectorConcatenate_dw[2] = g_assVR_AMB_Y2_LV0[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector1' */ rtb_VectorConcatenate_pg[0] = g_assVR_AMB_X1_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' */ rtb_VectorConcatenate_dw[2] = g_assVR_AMB_Y2_LV1[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector1' */ rtb_VectorConcatenate_pg[0] = g_assVR_AMB_X1_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' */ rtb_VectorConcatenate_dw[2] = g_assVR_AMB_Y2_LV2[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector1' */ rtb_VectorConcatenate_pg[0] = g_assVR_AMB_X1_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' */ rtb_VectorConcatenate_dw[2] = g_assVR_AMB_Y2_LV3[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector1' */ rtb_VectorConcatenate_pg[0] = g_assVR_AMB_X1_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' */ rtb_VectorConcatenate_dw[2] = g_assVR_AMB_Y2_LV4[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector1' */ rtb_VectorConcatenate_pg[0] = g_assVR_AMB_X1_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' */ rtb_VectorConcatenate_dw[2] = g_assVR_AMB_Y2_LV5[rtb_DataTypeConversion3_l4 - 1]; /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * MultiPortSwitch: '/Multiport Switch1' * Selector: '/Selector1' */ rtb_VectorConcatenate_pg[0] = g_assVR_AMB_X1_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch2' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' */ rtb_VectorConcatenate_pg[1] = 0; /* MultiPortSwitch: '/Multiport Switch2' incorporates: * Constant: '/Constant10' * Constant: '/Constant11' * Constant: '/Constant6' * Constant: '/Constant7' * Constant: '/Constant8' * Constant: '/Constant9' */ switch (rtb_timer_out) { case 0: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assVR_AMB_X2_LV0[i]; } /* Selector: '/Selector1' incorporates: * Constant: '/Constant6' */ rtb_VectorConcatenate_pg[2] = g_assVR_AMB_X2_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assVR_AMB_X2_LV1[i]; } /* Selector: '/Selector1' incorporates: * Constant: '/Constant7' */ rtb_VectorConcatenate_pg[2] = g_assVR_AMB_X2_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assVR_AMB_X2_LV2[i]; } /* Selector: '/Selector1' incorporates: * Constant: '/Constant8' */ rtb_VectorConcatenate_pg[2] = g_assVR_AMB_X2_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assVR_AMB_X2_LV3[i]; } /* Selector: '/Selector1' incorporates: * Constant: '/Constant9' */ rtb_VectorConcatenate_pg[2] = g_assVR_AMB_X2_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assVR_AMB_X2_LV4[i]; } /* Selector: '/Selector1' incorporates: * Constant: '/Constant10' */ rtb_VectorConcatenate_pg[2] = g_assVR_AMB_X2_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: for (i = 0; i < 7; i++) { rtb_uDLookupTable7_g[i] = g_assVR_AMB_X2_LV5[i]; } /* Selector: '/Selector1' incorporates: * Constant: '/Constant11' */ rtb_VectorConcatenate_pg[2] = g_assVR_AMB_X2_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch2' */ /* Lookup_n-D: '/2.6 FLU_tg_amb' */ rtb_MultiportSwitch_az = look1_is16lu64n32Ds32_binlcn(rtb_MultiportSwitch_az, rtb_VectorConcatenate_pg, rtb_VectorConcatenate_dw, 2U); /* Switch: '/Switch' incorporates: * Constant: '/manual3' * Constant: '/Constant' * Constant: '/Constant' * Constant: '/Constant' * DataStoreRead: '/AF from Start Control' * DataStoreRead: '/Data Store Read' * Logic: '/Logical Operator' * RelationalOperator: '/Equal4' * RelationalOperator: '/Compare' * RelationalOperator: '/Compare' * RelationalOperator: '/Compare' * Switch: '/Switch3' * UnitDelay: '/Unit Delay3' */ if ((rtDW.step_start_controle_rear == 0) || (rtDW.step_start_controle_rear == 1) || (rtDW.step_start_controle_rear == 2)) { rtb_out_l4w = rtDW.Blower_RR; } else if (rtDW.UnitDelay3_DSTATE == 0) { /* Switch: '/Switch3' */ rtb_out_l4w = rtB.MultiportSwitch_c; } else { /* MultiPortSwitch: '/Multiport Switch2' incorporates: * Constant: '/Constant10' * Constant: '/Constant11' * Constant: '/Constant6' * Constant: '/Constant7' * Constant: '/Constant8' * Constant: '/Constant9' * Switch: '/Switch3' */ switch (rtb_timer_out) { case 0: for (i = 0; i < 7; i++) { rtb_MultiportSwitch1_d[i] = g_assVR_SUN_X2_LV0[i]; } break; case 1: for (i = 0; i < 7; i++) { rtb_MultiportSwitch1_d[i] = g_assVR_SUN_X2_LV1[i]; } break; case 2: for (i = 0; i < 7; i++) { rtb_MultiportSwitch1_d[i] = g_assVR_SUN_X2_LV2[i]; } break; case 3: for (i = 0; i < 7; i++) { rtb_MultiportSwitch1_d[i] = g_assVR_SUN_X2_LV3[i]; } break; case 4: for (i = 0; i < 7; i++) { rtb_MultiportSwitch1_d[i] = g_assVR_SUN_X2_LV4[i]; } break; default: for (i = 0; i < 7; i++) { rtb_MultiportSwitch1_d[i] = g_assVR_SUN_X2_LV5[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch2' */ /* Selector: '/Selector1' incorporates: * Switch: '/Switch3' */ rtb_VectorConcatenate_pg[2] = rtb_MultiportSwitch1_d[rtb_DataTypeConversion3_l4 - 1]; /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Switch: '/Switch3' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector' incorporates: * Constant: '/Constant' * Selector: '/Selector1' */ rtb_VectorConcatenate_pg[1] = g_assVR_SUN_X1_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * Selector: '/Selector1' */ rtb_VectorConcatenate_pg[1] = g_assVR_SUN_X1_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * Selector: '/Selector1' */ rtb_VectorConcatenate_pg[1] = g_assVR_SUN_X1_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * Selector: '/Selector1' */ rtb_VectorConcatenate_pg[1] = g_assVR_SUN_X1_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * Selector: '/Selector1' */ rtb_VectorConcatenate_pg[1] = g_assVR_SUN_X1_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * Selector: '/Selector1' */ rtb_VectorConcatenate_pg[1] = g_assVR_SUN_X1_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' * Switch: '/Switch3' */ rtb_VectorConcatenate_pg[0] = 0; /* MultiPortSwitch: '/Multiport Switch2' incorporates: * Constant: '/Constant10' * Constant: '/Constant11' * Constant: '/Constant6' * Constant: '/Constant7' * Constant: '/Constant8' * Constant: '/Constant9' * Switch: '/Switch3' */ switch (rtb_timer_out) { case 0: for (i = 0; i < 7; i++) { rtb_MultiportSwitch1_d[i] = g_assVR_SUN_Y2_LV0[i]; } break; case 1: for (i = 0; i < 7; i++) { rtb_MultiportSwitch1_d[i] = g_assVR_SUN_Y2_LV1[i]; } break; case 2: for (i = 0; i < 7; i++) { rtb_MultiportSwitch1_d[i] = g_assVR_SUN_Y2_LV2[i]; } break; case 3: for (i = 0; i < 7; i++) { rtb_MultiportSwitch1_d[i] = g_assVR_SUN_Y2_LV3[i]; } break; case 4: for (i = 0; i < 7; i++) { rtb_MultiportSwitch1_d[i] = g_assVR_SUN_Y2_LV4[i]; } break; default: for (i = 0; i < 7; i++) { rtb_MultiportSwitch1_d[i] = g_assVR_SUN_Y2_LV5[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch2' */ /* Selector: '/Selector1' incorporates: * Selector: '/Selector1' * Switch: '/Switch3' */ rtb_VectorConcatenate_dw[2] = rtb_MultiportSwitch1_d[rtb_DataTypeConversion3_l4 - 1]; /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Switch: '/Switch3' */ switch (rtb_timer_out) { case 0: /* Selector: '/Selector' incorporates: * Constant: '/Constant' * Selector: '/Selector1' */ rtb_VectorConcatenate_dw[1] = g_assVR_SUN_Y1_LV0[rtb_DataTypeConversion3_l4 - 1]; break; case 1: /* Selector: '/Selector' incorporates: * Constant: '/Constant1' * Selector: '/Selector1' */ rtb_VectorConcatenate_dw[1] = g_assVR_SUN_Y1_LV1[rtb_DataTypeConversion3_l4 - 1]; break; case 2: /* Selector: '/Selector' incorporates: * Constant: '/Constant2' * Selector: '/Selector1' */ rtb_VectorConcatenate_dw[1] = g_assVR_SUN_Y1_LV2[rtb_DataTypeConversion3_l4 - 1]; break; case 3: /* Selector: '/Selector' incorporates: * Constant: '/Constant3' * Selector: '/Selector1' */ rtb_VectorConcatenate_dw[1] = g_assVR_SUN_Y1_LV3[rtb_DataTypeConversion3_l4 - 1]; break; case 4: /* Selector: '/Selector' incorporates: * Constant: '/Constant4' * Selector: '/Selector1' */ rtb_VectorConcatenate_dw[1] = g_assVR_SUN_Y1_LV4[rtb_DataTypeConversion3_l4 - 1]; break; default: /* Selector: '/Selector' incorporates: * Constant: '/Constant5' * Selector: '/Selector1' */ rtb_VectorConcatenate_dw[1] = g_assVR_SUN_Y1_LV5[rtb_DataTypeConversion3_l4 - 1]; break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant24' * Switch: '/Switch3' */ rtb_VectorConcatenate_dw[0] = 0; /* Lookup_n-D: '/2.6 FLU_tg_amb' incorporates: * DataStoreRead: '/Data Store Read41' * Switch: '/Switch3' */ index_start = look1_bs16ts16DdId_binlc(rtDW.Sun_R, rtb_VectorConcatenate_pg, rtb_VectorConcatenate_dw, 2U); /* Sum: '/FLU_tg_correct' incorporates: * Switch: '/Switch3' */ rtb_DataTypeConversion_dl = (int16_t)floor((double)((rtb_u6FRU_tg_amb + rtb_MultiportSwitch_if) + rtb_MultiportSwitch_az) + index_start); /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * Constant: '/Constant2' * Constant: '/Constant3' * Constant: '/Constant4' * Constant: '/Constant5' * Switch: '/Switch3' */ switch (rtb_timer_out) { case 0: for (i = 0; i < 7; i++) { rtb_MultiportSwitch1_d[i] = g_assVR_MAX_LV0[i]; } break; case 1: for (i = 0; i < 7; i++) { rtb_MultiportSwitch1_d[i] = g_assVR_MAX_LV1[i]; } break; case 2: for (i = 0; i < 7; i++) { rtb_MultiportSwitch1_d[i] = g_assVR_MAX_LV2[i]; } break; case 3: for (i = 0; i < 7; i++) { rtb_MultiportSwitch1_d[i] = g_assVR_MAX_LV3[i]; } break; case 4: for (i = 0; i < 7; i++) { rtb_MultiportSwitch1_d[i] = g_assVR_MAX_LV4[i]; } break; default: for (i = 0; i < 7; i++) { rtb_MultiportSwitch1_d[i] = g_assVR_MAX_LV5[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* Selector: '/Selector' incorporates: * Selector: '/Selector1' * Switch: '/Switch3' */ rtb_MultiportSwitch_cq = rtb_MultiportSwitch1_d[rtb_DataTypeConversion3_l4 - 1]; /* Switch: '/Switch2' incorporates: * RelationalOperator: '/LowerRelop1' * Switch: '/Switch3' */ if (rtb_DataTypeConversion_dl <= rtb_MultiportSwitch_cq) { /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * Constant: '/Constant2' * Constant: '/Constant3' * Constant: '/Constant4' * Constant: '/Constant5' */ switch (rtb_timer_out) { case 0: for (i = 0; i < 7; i++) { rtb_MultiportSwitch1_d[i] = g_assVR_MIN_LV0[i]; } break; case 1: for (i = 0; i < 7; i++) { rtb_MultiportSwitch1_d[i] = g_assVR_MIN_LV1[i]; } break; case 2: for (i = 0; i < 7; i++) { rtb_MultiportSwitch1_d[i] = g_assVR_MIN_LV2[i]; } break; case 3: for (i = 0; i < 7; i++) { rtb_MultiportSwitch1_d[i] = g_assVR_MIN_LV3[i]; } break; case 4: for (i = 0; i < 7; i++) { rtb_MultiportSwitch1_d[i] = g_assVR_MIN_LV4[i]; } break; default: for (i = 0; i < 7; i++) { rtb_MultiportSwitch1_d[i] = g_assVR_MIN_LV5[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* Selector: '/Selector' incorporates: * Selector: '/Selector1' */ rtb_MultiportSwitch_cq = rtb_MultiportSwitch1_d[rtb_DataTypeConversion3_l4 - 1]; /* Switch: '/Switch' incorporates: * RelationalOperator: '/UpperRelop' * Selector: '/Selector' */ if (rtb_DataTypeConversion_dl >= rtb_MultiportSwitch_cq) { rtb_MultiportSwitch_cq = rtb_DataTypeConversion_dl; } /* End of Switch: '/Switch' */ } /* End of Switch: '/Switch2' */ /* Sum: '/Add' incorporates: * DataStoreRead: '/Data Store Read' * DataTypeConversion: '/Data Type Conversion' * DataTypeConversion: '/Data Type Conversion1' * DataTypeConversion: '/Data Type Conversion1' * Gain: '/Gain' * MATLAB Function: '/func g_ascAUTO_STEP_AF_F' * Product: '/Product' * Switch: '/Switch3' */ index_start = (double)g_ascAUTO_STEP_AF_F[(int8_t)rtDW.CCU_AUTOMODE_RR - 1] * 0.01 * (double)(uint16_t)rtb_MultiportSwitch_cq + (double)(uint16_t) rtb_MultiportSwitch_cq; /* DataTypeConversion: '/Data Type Conversion2' incorporates: * Switch: '/Switch3' */ if (fabs(index_start) >= 0.5) { rtb_out_l4w = (uint16_t)floor(index_start + 0.5); } else { rtb_out_l4w = 0U; } /* End of DataTypeConversion: '/Data Type Conversion2' */ } /* End of Switch: '/Switch' */ /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_RR_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed' */ AFforspeed(rtb_out_eix, 7.0, &rtb_out_m44); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_RR_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed' */ AFforspeed(rtb_out_eix, 7.0, &rtb_out_lac); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_RR_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed' */ AFforspeed(rtb_out_eix, 6.0, &rtb_out_mxq); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_RR_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed' */ AFforspeed(rtb_out_eix, 7.0, &rtb_out_mxq); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_RR_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed' */ AFforspeed(rtb_out_eix, 7.0, &rtb_out_a2e); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_RR_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed' */ AFforspeed(rtb_out_eix, 6.0, &rtb_out_hpu); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_RR_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed' */ AFforspeed(rtb_out_eix, 6.0, &rtb_out_hpu); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_RR_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed' */ AFforspeed(rtb_out_eix, 6.0, &rtb_out_l1e); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_RR_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed' */ AFforspeed(rtb_out_eix, 5.0, &rtb_out_gi); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read2' */ switch (rtDW.LEVEL) { case 0: case 1: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/LOW1' * Constant: '/LOW2' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)((uint32_t)(((rtDW.LO_HI_MODE_RR == 1) && (rtDW.CCU_MODE_RR == 1)) << 1) + (uint32_t)((rtDW.CCU_MODE_RL == 1) && (rtDW.LO_HI_MODE_RL == 1)))) { case 1: break; case 2: rtb_out_l4w = rtb_out_m44; break; case 3: rtb_out_l4w = rtb_out_lac; break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; case 2: case 3: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/LOW1' * Constant: '/LOW2' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)((uint32_t)(((rtDW.LO_HI_MODE_RR == 1) && (rtDW.CCU_MODE_RR == 1)) << 1) + (uint32_t)((rtDW.CCU_MODE_RL == 1) && (rtDW.LO_HI_MODE_RL == 1)))) { case 1: break; case 2: rtb_out_l4w = rtb_out_mxq; break; case 3: rtb_out_l4w = rtb_out_a2e; break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; default: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/LOW1' * Constant: '/LOW2' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)((uint32_t)(((rtDW.LO_HI_MODE_RR == 1) && (rtDW.CCU_MODE_RR == 1)) << 1) + (uint32_t)((rtDW.CCU_MODE_RL == 1) && (rtDW.LO_HI_MODE_RL == 1)))) { case 1: break; case 2: rtb_out_l4w = rtb_out_hpu; break; case 3: rtb_out_l4w = rtb_out_l1e; break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_FL_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed 6' */ AFforspeed(rtb_out_eix, 6.0, &rtb_out_m44); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_FL_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed' */ AFforspeed(rtb_out_eix, 6.0, &rtb_out_lac); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_FL_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed 6' */ AFforspeed(rtb_out_eix, 6.0, &rtb_out_mxq); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_FL_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed' */ AFforspeed(rtb_out_eix, 6.0, &rtb_out_a2e); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_FL_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed 6' */ AFforspeed(rtb_out_eix, 6.0, &rtb_out_hpu); /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read5' */ switch (rtDW.Index_mode_FL_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/AF for speed' incorporates: * Constant: '/blower speed' */ AFforspeed(rtb_out_eix, 6.0, &rtb_out_l1e); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read2' */ switch (rtDW.LEVEL) { case 0: case 1: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/HI' * Constant: '/HI1' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)((uint32_t)(((rtDW.LO_HI_MODE_RR == 2) && (rtDW.CCU_MODE_RR == 1)) << 1) + (uint32_t)((rtDW.CCU_MODE_RL == 1) && (rtDW.LO_HI_MODE_RL == 2)))) { case 1: break; case 2: rtb_out_l4w = rtb_out_m44; break; case 3: rtb_out_l4w = rtb_out_lac; break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; case 2: case 3: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/HI' * Constant: '/HI1' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)((uint32_t)(((rtDW.LO_HI_MODE_RR == 2) && (rtDW.CCU_MODE_RR == 1)) << 1) + (uint32_t)((rtDW.CCU_MODE_RL == 1) && (rtDW.LO_HI_MODE_RL == 2)))) { case 1: break; case 2: rtb_out_l4w = rtb_out_mxq; break; case 3: rtb_out_l4w = rtb_out_a2e; break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; default: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/HI' * Constant: '/HI1' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)((uint32_t)(((rtDW.LO_HI_MODE_RR == 2) && (rtDW.CCU_MODE_RR == 1)) << 1) + (uint32_t)((rtDW.CCU_MODE_RL == 1) && (rtDW.LO_HI_MODE_RL == 2)))) { case 1: break; case 2: rtb_out_l4w = rtb_out_hpu; break; case 3: rtb_out_l4w = rtb_out_l1e; break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* Switch: '/Switch' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read4' * DataStoreRead: '/Data Store Read5' */ if (rtDW.CCU_MODE_RR > 0) { rtb_out_m44 = rtDW.Index_mode_RR_auto; } else { rtb_out_m44 = rtDW.Index_mode_RR_manual; } /* MATLAB Function: '/param index for mode' incorporates: * Switch: '/Switch' */ paramindexformode_h(rtb_out_m44, &rtb_D_la); /* MATLAB Function: '/RR AF * percent DRS' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read2' */ /* : index_start = (param_index - 1) * 3 + 1; */ index_start = (rtb_D_la - 1.0) * 3.0 + 1.0; /* : if DRS_side == 0 */ if (rtDW.DRS_SRR == 0) { /* : side_percent = uint8(0); */ rtb_DataTypeConversion1_nc = 0U; } else { /* : else */ /* : side_percent = g_aucREAR_SIDE_DRS_PERCENT_AF(index_start + 3 - DRS_side); */ rtb_I_od = rt_roundd((index_start + 3.0) - (double)rtDW.DRS_SRR); if (rtb_I_od < 256.0) { if (rtb_I_od >= 0.0) { rtb_DataTypeConversion3_gz = (uint8_t)rtb_I_od; } else { rtb_DataTypeConversion3_gz = 0U; } } else { rtb_DataTypeConversion3_gz = UINT8_MAX; } rtb_DataTypeConversion1_nc = g_aucREAR_SIDE_DRS_PERCENT_AF[rtb_DataTypeConversion3_gz - 1]; } /* : if DRS_center == 0 */ if (rtDW.DRS_CRR == 0) { /* : center_percent = uint8(0); */ rtb_DataTypeConversion3_gz = 0U; } else { /* : else */ /* : center_percent = g_aucREAR_CENT_DRS_PERCENT_AF(index_start + 3 - DRS_center); */ rtb_I_od = rt_roundd((index_start + 3.0) - (double)rtDW.DRS_CRR); if (rtb_I_od < 256.0) { if (rtb_I_od >= 0.0) { rtb_DataTypeConversion3_gz = (uint8_t)rtb_I_od; } else { rtb_DataTypeConversion3_gz = 0U; } } else { rtb_DataTypeConversion3_gz = UINT8_MAX; } rtb_DataTypeConversion3_gz = g_aucREAR_CENT_DRS_PERCENT_AF[rtb_DataTypeConversion3_gz - 1]; } /* : percent = double(side_percent + center_percent) / 2 / 100; */ /* : y = uint16(double(AF_in) * percent); */ rtb_Gain2 = (int32_t)((uint32_t)rtb_DataTypeConversion1_nc + rtb_DataTypeConversion3_gz); if ((uint32_t)rtb_Gain2 > 255U) { rtb_Gain2 = 255; } rtb_Gain2 = (int32_t)rt_roundd((double)rtb_Gain2 / 2.0 / 100.0 * (double) rtb_out_l4w); if (rtb_Gain2 < 65536) { rtb_out_m44 = (uint16_t)rtb_Gain2; } else { rtb_out_m44 = UINT16_MAX; } /* MATLAB Function: '/is_ending_with_5' */ is_ending_with_5(rtb_Saturation2_a, &rtb_LogicalOperator_fc); /* MATLAB Function: '/is_ending_with_5' */ /* : correct_after_time = [g_assCORRECT_AF_MAX_LV0; g_assCORRECT_AF_MAX_LV1; g_assCORRECT_AF_MAX_LV2; g_assCORRECT_AF_MAX_LV3; g_assCORRECT_AF_MAX_LV4; g_assCORRECT_AF_MAX_LV5]; */ /* : y = correct_after_time(LVL + 1, idivide(SET - 16 + 1, 2)); */ /* : correct_rate = [g_assCORRECT_AF_RATE_LV0; g_assCORRECT_AF_RATE_LV1; g_assCORRECT_AF_RATE_LV2; g_assCORRECT_AF_RATE_LV3; g_assCORRECT_AF_RATE_LV4; g_assCORRECT_AF_RATE_LV5]; */ /* : disp('all correction rate:') */ /* : disp(correct_rate) */ /* : y = correct_rate(LVL + 1, idivide(SET - 16 + 1, 2)); */ /* : disp('correction rate:') */ /* : disp(y) */ /* : correct_after_time = [g_assCORRECT_AF_TIME_FL_LV0; g_assCORRECT_AF_TIME_FL_LV1; g_assCORRECT_AF_TIME_FL_LV2; g_assCORRECT_AF_TIME_FL_LV3; g_assCORRECT_AF_TIME_FL_LV4; g_assCORRECT_AF_TIME_FL_LV5]; */ /* : y = correct_after_time(LVL + 1, idivide(SET - 16 + 1, 2)); */ is_ending_with_5(rtb_out_kez, &rtb_LogicalOperator_fc); /* Update for UnitDelay: '/Unit Delay1' incorporates: * DataStoreRead: '/Data Store Read1' */ /* : correct_after_time = [g_assCORRECT_AF_MAX_LV0; g_assCORRECT_AF_MAX_LV1; g_assCORRECT_AF_MAX_LV2; g_assCORRECT_AF_MAX_LV3; g_assCORRECT_AF_MAX_LV4; g_assCORRECT_AF_MAX_LV5]; */ /* : y = correct_after_time(LVL + 1, idivide(SET - 16 + 1, 2)); */ /* : correct_rate = [g_assCORRECT_AF_RATE_LV0; g_assCORRECT_AF_RATE_LV1; g_assCORRECT_AF_RATE_LV2; g_assCORRECT_AF_RATE_LV3; g_assCORRECT_AF_RATE_LV4; g_assCORRECT_AF_RATE_LV5]; */ /* : y = correct_rate(LVL + 1, idivide(SET - 16 + 1, 2)); */ /* : correct_after_time = [g_assCORRECT_AF_TIME_FR_LV0; g_assCORRECT_AF_TIME_FR_LV1; g_assCORRECT_AF_TIME_FR_LV2; g_assCORRECT_AF_TIME_FR_LV3; g_assCORRECT_AF_TIME_FR_LV4; g_assCORRECT_AF_TIME_FR_LV5]; */ /* : y = correct_after_time(LVL + 1, idivide(SET - 16 + 1, 2)); */ rtDW.UnitDelay1_DSTATE_j = rtDW.CCU_MODE_FR; /* DataStoreRead: '/Data Store Read2' incorporates: * UnitDelay: '/Unit Delay2' */ rtDW.UnitDelay2_DSTATE = rtDW.CCU_MODE_RL; /* DataStoreRead: '/Data Store Read3' incorporates: * UnitDelay: '/Unit Delay3' */ rtDW.UnitDelay3_DSTATE = rtDW.CCU_MODE_RR; /* Update for UnitDelay: '/Unit Delay' incorporates: * DataStoreRead: '/Data Store Read46' */ rtDW.UnitDelay_DSTATE_ne = rtDW.CCU_MODE_FL; /* Chart: '/MAX AC define condition' incorporates: * DataStoreRead: '/Data Store Read75' * DataStoreRead: '/Data Store Read78' */ if (rtDW.is_active_c248_HVAC_model == 0U) { rtDW.is_active_c248_HVAC_model = 1U; rtDW.is_c248_HVAC_model = IN_MAX_AC_OFF; /* : MaxAC_Active = false; */ /* : condition=0; */ rtB.condition = 0.0; } else if (rtDW.is_c248_HVAC_model == IN_MAX_AC_OFF) { /* : sf_internal_predicateOutput = CCU_AC_MAX==1; */ if (rtDW.CCU_AC_MAX == 1) { rtDW.is_c248_HVAC_model = IN_MAX_AC_ON; } /* case IN_MAX_AC_ON: */ /* : sf_internal_predicateOutput = CCU_AC_MAX==0; */ } else if (rtDW.CCU_AC_MAX == 0) { rtDW.is_c248_HVAC_model = IN_MAX_AC_OFF; /* : MaxAC_Active = false; */ /* : condition=0; */ rtB.condition = 0.0; /* : if amb > g_assAC_CUT_OFF_AMB_F(1) */ } else if (rtDW.AMB > g_assAC_CUT_OFF_AMB_F[0]) { /* : condition = 1; */ rtB.condition = 1.0; } else { /* : else */ /* : condition = 2; */ rtB.condition = 2.0; } /* End of Chart: '/MAX AC define condition' */ /* DataStoreWrite: '/Data Store Write34' */ rtDW.condition_ac_max = rtB.condition; /* Chart: '/Synchronization stateflow chart' */ if (rtDW.is_active_c618_HVAC_model == 0U) { rtDW.is_active_c618_HVAC_model = 1U; rtDW.is_c618_HVAC_model = IN_NO_SYNC; enter_atomic_NO_SYNC(); } else { guard1 = false; guard2 = false; switch (rtDW.is_c618_HVAC_model) { case IN_FRONT_ONLY: rtB.sync_front = 1U; rtB.sync_rear = 0U; rtB.sync_all = 0U; /* : sf_internal_predicateOutput = enable_full_sync; */ if (rtDW.enable_full_sync != 0) { rtDW.is_c618_HVAC_model = IN_FULL_SYNC; enter_atomic_FULL_SYNC(); /* : sf_internal_predicateOutput = disable_front_sync; */ } else if (rtDW.disable_front_sync != 0) { guard1 = true; /* : sf_internal_predicateOutput = enable_rear_sync; */ } else if (rtDW.enable_rear_sync != 0) { rtDW.is_c618_HVAC_model = IN_SEPARATE_FRONT_AND_REAR; enter_atomic_SEPARATE_FRONT_AND_REAR(); /* : sf_internal_predicateOutput = changed_FR_params; */ } else if (rtDW.changed_FR_params != 0) { guard1 = true; } break; case IN_FULL_SYNC: rtB.sync_front = 0U; rtB.sync_rear = 0U; rtB.sync_all = 1U; /* : sf_internal_predicateOutput = disable_front_sync; */ if (rtDW.disable_front_sync != 0) { guard2 = true; /* : sf_internal_predicateOutput = enable_front_sync; */ } else if ((rtDW.enable_front_sync != 0) || (rtDW.enable_rear_sync != 0)) { rtDW.is_c618_HVAC_model = IN_SEPARATE_FRONT_AND_REAR; enter_atomic_SEPARATE_FRONT_AND_REAR(); /* : sf_internal_predicateOutput = enable_rear_sync; */ /* : sf_internal_predicateOutput = changed_FR_params; */ } else if (rtDW.changed_FR_params != 0) { guard2 = true; /* : sf_internal_predicateOutput = changed_RL_params || changed_RR_params; */ } else if ((rtDW.changed_RL_params != 0) || (rtDW.changed_RR_params != 0)) { rtDW.is_c618_HVAC_model = IN_FRONT_ONLY; enter_atomic_FRONT_ONLY(); } break; case IN_NO_SYNC: rtB.sync_front = 0U; rtB.sync_rear = 0U; rtB.sync_all = 0U; /* : sf_internal_predicateOutput = enable_front_sync; */ if (rtDW.enable_front_sync != 0) { rtDW.is_c618_HVAC_model = IN_FRONT_ONLY; enter_atomic_FRONT_ONLY(); /* : sf_internal_predicateOutput = enable_full_sync; */ } else if (rtDW.enable_full_sync != 0) { rtDW.is_c618_HVAC_model = IN_FULL_SYNC; enter_atomic_FULL_SYNC(); /* : sf_internal_predicateOutput = enable_rear_sync; */ } else if (rtDW.enable_rear_sync != 0) { rtDW.is_c618_HVAC_model = IN_REAR_ONLY; enter_atomic_REAR_ONLY(); } break; case IN_REAR_ONLY: rtB.sync_front = 0U; rtB.sync_rear = 1U; rtB.sync_all = 0U; /* : sf_internal_predicateOutput = enable_full_sync; */ if (rtDW.enable_full_sync != 0) { rtDW.is_c618_HVAC_model = IN_FULL_SYNC; enter_atomic_FULL_SYNC(); /* : sf_internal_predicateOutput = enable_front_sync; */ } else if (rtDW.enable_front_sync != 0) { rtDW.is_c618_HVAC_model = IN_SEPARATE_FRONT_AND_REAR; enter_atomic_SEPARATE_FRONT_AND_REAR(); /* : sf_internal_predicateOutput = disable_rear_sync || changed_RL_params; */ } else if ((rtDW.disable_rear_sync != 0) || (rtDW.changed_RL_params != 0)) { rtDW.is_c618_HVAC_model = IN_NO_SYNC; enter_atomic_NO_SYNC(); } break; default: /* case IN_SEPARATE_FRONT_AND_REAR: */ rtB.sync_front = 1U; rtB.sync_rear = 1U; rtB.sync_all = 0U; /* : sf_internal_predicateOutput = enable_full_sync; */ if (rtDW.enable_full_sync != 0) { rtDW.is_c618_HVAC_model = IN_FULL_SYNC; enter_atomic_FULL_SYNC(); /* : sf_internal_predicateOutput = disable_rear_sync || changed_RL_params; */ } else if ((rtDW.disable_rear_sync != 0) || (rtDW.changed_RL_params != 0)) { rtDW.is_c618_HVAC_model = IN_FRONT_ONLY; enter_atomic_FRONT_ONLY(); /* : sf_internal_predicateOutput = disable_front_sync; */ } else if ((rtDW.disable_front_sync != 0) || (rtDW.changed_FR_params != 0)) { rtDW.is_c618_HVAC_model = IN_REAR_ONLY; enter_atomic_REAR_ONLY(); } else { /* : sf_internal_predicateOutput = changed_FR_params; */ } break; } if (guard2) { rtDW.is_c618_HVAC_model = IN_REAR_ONLY; enter_atomic_REAR_ONLY(); } if (guard1) { rtDW.is_c618_HVAC_model = IN_NO_SYNC; enter_atomic_NO_SYNC(); } } /* End of Chart: '/Synchronization stateflow chart' */ /* DataStoreWrite: '/Data Store Write15' */ rtb_timer_out = rtB.sync_rear; /* DataStoreWrite: '/Data Store Write16' */ rtb_DataTypeConversion3_l4 = rtB.sync_all; /* DataStoreWrite: '/Data Store Write17' */ rtb_Switch1_j = rtB.sync_front; /* MATLAB Function: '/Valves for Def (DE2Valve) + Foot2=0' */ for (i = 0; i < 9; i++) { rtb_out_n1[i] = g_ausFLOW_FR_DE2VALVE[i]; } /* : out = g_ausFLOW_FR_DE2VALVE; */ /* : out(6) = int16(0); */ rtb_out_n1[5] = 0U; /* : out(8) = int16(0); */ rtb_out_n1[7] = 0U; /* End of MATLAB Function: '/Valves for Def (DE2Valve) + Foot2=0' */ /* Outputs for Enabled SubSystem: '/Front Left Valves - manual directions' incorporates: * EnablePort: '/Enable' */ /* RelationalOperator: '/Equal2' incorporates: * Constant: '/Constant2' * DataStoreRead: '/Data Store Read44' */ if (rtDW.CCU_MODE_FL == 0) { /* RelationalOperator: '/Relational Operator2' incorporates: * Constant: '/Constant2' * DataStoreRead: '/Data Store Read10' */ rtb_LogicalOperator_fc = (rtDW.CCU_FOOT_FL == 1); /* Sum: '/Add' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * DataStoreRead: '/Data Store Read4' * DataStoreRead: '/Data Store Read5' * DataTypeConversion: '/Data Type Conversion5' * Gain: '/Gain1' * Gain: '/Gain2' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator1' */ rtb_Saturation2_a = (uint16_t)(((uint32_t)((rtDW.CCU_FACE_FL == 1) << 1) + (uint32_t)(rtDW.CCU_DEF_FL == 1)) + (uint32_t)(rtb_LogicalOperator_fc << 2)); /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant10' * Constant: '/Constant11' * Constant: '/Constant4' * Constant: '/Constant5' * Constant: '/Constant6' * Constant: '/Constant7' * Constant: '/Constant8' * Constant: '/Constant9' * DataStoreWrite: '/Data Store Write' */ switch (rtb_Saturation2_a) { case 0: rtDW.Index_mode_FL_manual = 0U; break; case 1: rtDW.Index_mode_FL_manual = 80U; break; case 2: rtDW.Index_mode_FL_manual = 10U; break; case 3: rtDW.Index_mode_FL_manual = 100U; break; case 4: rtDW.Index_mode_FL_manual = 60U; break; case 5: rtDW.Index_mode_FL_manual = 70U; break; case 6: rtDW.Index_mode_FL_manual = 20U; break; default: rtDW.Index_mode_FL_manual = 90U; break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* MATLAB Function: '/Valves for Hi_Level' */ /* : out = g_ausFLOW_FR_DE2VALVE; */ /* : out = g_ausFLOW_FR_VE2VALVE; */ ValvesforHi_Level(rtb_out_jgn); /* MATLAB Function: '/Valves for Foot + Def' */ /* : out = g_ausFLOW_FR_FO2VALVE; */ ValvesforFootDef(rtb_out_kfv); /* MATLAB Function: '/Valves for Bi Level' */ ValvesforBiLevel(rtb_out_nxs); /* MATLAB Function: '/Valves for Tri-Level' */ ValvesforTriLevel(rtB.MultiportSwitch_j); /* MultiPortSwitch: '/Multiport Switch' */ switch (rtb_Saturation2_a) { case 0: /* MultiPortSwitch: '/Multiport Switch' */ for (i = 0; i < 9; i++) { rtB.MultiportSwitch_j[i] = 0U; } break; case 1: /* MultiPortSwitch: '/Multiport Switch' incorporates: * MATLAB Function: '/Valves for Def' */ for (i = 0; i < 9; i++) { rtB.MultiportSwitch_j[i] = g_ausFLOW_FR_DE2VALVE[i]; } break; case 2: /* MultiPortSwitch: '/Multiport Switch' incorporates: * MATLAB Function: '/Valves for Vent mode' */ for (i = 0; i < 9; i++) { rtB.MultiportSwitch_j[i] = g_ausFLOW_FR_VE2VALVE[i]; } break; case 3: /* MultiPortSwitch: '/Multiport Switch' */ for (i = 0; i < 9; i++) { rtB.MultiportSwitch_j[i] = rtb_out_jgn[i]; } break; case 4: /* MultiPortSwitch: '/Multiport Switch' incorporates: * MATLAB Function: '/Valves for Foot' */ for (i = 0; i < 9; i++) { rtB.MultiportSwitch_j[i] = g_ausFLOW_FR_FO2VALVE[i]; } break; case 5: /* MultiPortSwitch: '/Multiport Switch' */ for (i = 0; i < 9; i++) { rtB.MultiportSwitch_j[i] = rtb_out_kfv[i]; } break; case 6: /* MultiPortSwitch: '/Multiport Switch' */ for (i = 0; i < 9; i++) { rtB.MultiportSwitch_j[i] = rtb_out_nxs[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ } /* End of RelationalOperator: '/Equal2' */ /* End of Outputs for SubSystem: '/Front Left Valves - manual directions' */ /* RelationalOperator: '/Equal1' incorporates: * Constant: '/manual' * DataStoreRead: '/Data Store Read46' */ rtb_LogicalOperator = (rtDW.CCU_MODE_FL == 0); /* Saturate: '/Saturation4' incorporates: * DataStoreRead: '/Data Store Read' */ if (rtDW.LEVEL <= 5) { rtb_DataTypeConversion1_nc = rtDW.LEVEL; } else { rtb_DataTypeConversion1_nc = 5U; } /* End of Saturate: '/Saturation4' */ /* Saturate: '/Saturation' incorporates: * DataStoreRead: '/Data Store Read16' */ if (rtDW.CCU_SET_FL > 290) { rtb_out_kez = 290U; } else if (rtDW.CCU_SET_FL < 170) { rtb_out_kez = 170U; } else { rtb_out_kez = rtDW.CCU_SET_FL; } /* MATLAB Function: '/MODE_for_set_and_lvl' incorporates: * Gain: '/Gain2' * Saturate: '/Saturation' */ MODE_for_set_and_lvl(rtb_DataTypeConversion1_nc, (int16_t)((52429U * rtb_out_kez) >> 19), &rtb_DataTypeConversion2_au); /* MATLAB Function: '/valves_front_left' */ /* : modes_array = [ */ /* : g_ausFLOW_FR_VE2VALVE; */ /* : g_ausFLOW_FR_BIVALVE; */ /* : g_ausFLOW_FR_BI2VALVE; */ /* : g_ausFLOW_FR_AF2VALVE; */ /* : g_ausFLOW_FR_AF2VALVE_SUMMER]; */ /* : index = idivide(MODE, 10); */ /* : get_valves = modes_array(index, :); */ rtb_Gain2 = (int32_t)trunc((double)rtb_DataTypeConversion2_au / 10.0); for (i = 0; i < 9; i++) { tmp[5 * i] = g_ausFLOW_FR_VE2VALVE[i]; tmp[5 * i + 1] = g_ausFLOW_FR_BIVALVE[i]; tmp[5 * i + 2] = g_ausFLOW_FR_BI2VALVE[i]; tmp[5 * i + 3] = g_ausFLOW_FR_AF2VALVE[i]; tmp[5 * i + 4] = g_ausFLOW_FR_AF2VALVE_SUMMER[i]; /* Switch: '/Switch' incorporates: * MultiPortSwitch: '/Multiport Switch' */ if (rtb_LogicalOperator) { rtb_Saturation2_a = rtB.MultiportSwitch_j[i]; } else { rtb_Saturation2_a = tmp[(5 * i + rtb_Gain2) - 1]; } rtb_out_jgn[i] = rtb_Saturation2_a; /* End of Switch: '/Switch' */ /* Assignment: '/set valves[5]' incorporates: * SignalConversion generated from: '/set valves[5]' */ rtb_out_kfv[i] = rtb_Saturation2_a; } /* End of MATLAB Function: '/valves_front_left' */ /* Assignment: '/set valves[5]' incorporates: * DataStoreRead: '/Data Store Read1' * Sum: '/Add' */ rtb_out_kfv[4] = (uint16_t)(rtb_out_jgn[4] + rtDW.Valve_individual_foot_FL); /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/LOW1' * Constant: '/LOW2' * Constant: '/manual' * Constant: '/manual1' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read1' * Gain: '/Gain1' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal2' * Sum: '/Add' */ switch ((int32_t)((uint32_t)(((rtDW.LO_HI_MODE_FR == 1) && (rtDW.CCU_MODE_FR == 0)) << 1) + (uint32_t)((rtDW.CCU_MODE_FL == 0) && (rtDW.LO_HI_MODE_FL == 1)))) { case 1: /* Assignment: '/valves[6]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_out_kfv[5] = 0U; break; case 2: /* Assignment: '/valves[8]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_out_kfv[7] = 0U; break; case 3: /* Assignment: '/valves[6]' incorporates: * Assignment: '/valves[8]' * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_out_kfv[5] = 0U; /* Assignment: '/valves[8]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_out_kfv[7] = 0U; break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/LOW' * Constant: '/LOW3' * Constant: '/manual' * Constant: '/manual' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read4' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator3' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)((uint32_t)(((rtDW.LO_HI_MODE_RR == 1) && (rtDW.CCU_MODE_RR == 0)) << 1) + (uint32_t)((rtDW.CCU_MODE_RL == 0) && (rtDW.LO_HI_MODE_RL == 1)))) { case 1: /* Assignment: '/valves[6]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_out_kfv[5] = 0U; break; case 2: /* Assignment: '/valves[8]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_out_kfv[7] = 0U; break; case 3: /* Assignment: '/valves[6]' incorporates: * Assignment: '/valves[8]' * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_out_kfv[5] = 0U; /* Assignment: '/valves[8]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_out_kfv[7] = 0U; break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/HI' * Constant: '/HI1' * Constant: '/manual' * Constant: '/manual1' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read1' * Gain: '/Gain1' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * MultiPortSwitch: '/Multiport Switch' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal2' * Sum: '/Add' */ switch ((int32_t)((uint32_t)(((rtDW.LO_HI_MODE_FR == 2) && (rtDW.CCU_MODE_FR == 0)) << 1) + (uint32_t)((rtDW.CCU_MODE_FL == 0) && (rtDW.LO_HI_MODE_FL == 2)))) { case 1: for (i = 0; i < 9; i++) { /* MultiPortSwitch: '/Multiport Switch' incorporates: * Assignment: '/valves[6]' * Assignment: '/valves[8]' * MultiPortSwitch: '/Multiport Switch' * SignalConversion generated from: '/valves[6]' */ rtb_out_nxs[i] = rtb_out_kfv[i]; } /* Assignment: '/valves[6]' incorporates: * Assignment: '/valves[8]' * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_out_nxs[5] = 0U; /* Assignment: '/valves[8]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_out_nxs[7] = 0U; break; case 2: for (i = 0; i < 9; i++) { /* MultiPortSwitch: '/Multiport Switch' incorporates: * Assignment: '/valves[6]' * Assignment: '/valves[8]' * MultiPortSwitch: '/Multiport Switch' * SignalConversion generated from: '/valves[6]' */ rtb_out_nxs[i] = rtb_out_kfv[i]; } /* Assignment: '/valves[6]' incorporates: * Assignment: '/valves[8]' * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_out_nxs[5] = 0U; /* Assignment: '/valves[8]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_out_nxs[7] = 0U; break; case 3: for (i = 0; i < 9; i++) { /* MultiPortSwitch: '/Multiport Switch' incorporates: * Assignment: '/valves[6]' * Assignment: '/valves[8]' * MultiPortSwitch: '/Multiport Switch' * SignalConversion generated from: '/valves[6]' */ rtb_out_nxs[i] = rtb_out_kfv[i]; } /* Assignment: '/valves[6]' incorporates: * Assignment: '/valves[8]' * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_out_nxs[5] = 0U; /* Assignment: '/valves[8]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_out_nxs[7] = 0U; break; default: for (i = 0; i < 9; i++) { rtb_out_nxs[i] = rtb_out_kfv[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* Switch: '/Switch2' incorporates: * Constant: '/HI' * Constant: '/HI1' * Constant: '/HI2' * Constant: '/HI3' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read4' * Logic: '/Logical Operator' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator3' */ if ((rtDW.LO_HI_MODE_FL != 2) || (rtDW.LO_HI_MODE_FR != 2) || (rtDW.LO_HI_MODE_RL != 2) || (rtDW.LO_HI_MODE_RR != 2)) { /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/HI' * Constant: '/HI1' * Constant: '/manual' * Constant: '/manual' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)((uint32_t)(((rtDW.LO_HI_MODE_RR == 2) && (rtDW.CCU_MODE_RR == 0)) << 1) + (uint32_t)((rtDW.CCU_MODE_RL == 0) && (rtDW.LO_HI_MODE_RL == 2)))) { case 1: for (i = 0; i < 9; i++) { /* Switch: '/Switch2' incorporates: * Assignment: '/valves[6]' * MultiPortSwitch: '/Multiport Switch' * SignalConversion generated from: '/valves[6]' */ rtb_out_kfv[i] = rtb_out_nxs[i]; } /* Assignment: '/valves[6]' incorporates: * Constant: '/Constant' * Switch: '/Switch2' */ rtb_out_kfv[5] = 0U; break; case 2: for (i = 0; i < 9; i++) { /* Switch: '/Switch2' incorporates: * Assignment: '/valves[8]' * MultiPortSwitch: '/Multiport Switch' * SignalConversion generated from: '/valves[8]' */ rtb_out_kfv[i] = rtb_out_nxs[i]; } /* Assignment: '/valves[8]' incorporates: * Constant: '/Constant' * Switch: '/Switch2' */ rtb_out_kfv[7] = 0U; break; case 3: for (i = 0; i < 9; i++) { /* Switch: '/Switch2' incorporates: * Assignment: '/valves[8]' * MultiPortSwitch: '/Multiport Switch' * SignalConversion generated from: '/valves[8]' */ rtb_out_kfv[i] = rtb_out_nxs[i]; } /* Assignment: '/valves[8]' incorporates: * Constant: '/Constant' * Switch: '/Switch2' */ rtb_out_kfv[7] = 0U; break; default: /* Switch: '/Switch2' incorporates: * MultiPortSwitch: '/Multiport Switch' */ for (i = 0; i < 9; i++) { rtb_out_kfv[i] = rtb_out_nxs[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ } /* End of Switch: '/Switch2' */ /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read2' */ switch (rtDW.LEVEL) { case 0: case 1: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/LOW1' * Constant: '/LOW2' * Constant: '/LOW3' * Constant: '/LOW4' * Constant: '/auto' * Constant: '/auto' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read4' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Gain: '/Gain2' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * Logic: '/Logical Operator2' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator3' * RelationalOperator: '/Relational Operator4' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)(((uint32_t)(((rtDW.CCU_MODE_RL == 1) && (rtDW.LO_HI_MODE_RL == 1) && (rtDW.LO_HI_MODE_RR == 1) && (rtDW.CCU_MODE_RR == 1)) << 2) + (uint32_t)(((rtDW.CCU_MODE_FR == 1) && (rtDW.LO_HI_MODE_FR == 1)) << 1)) + (uint32_t)((rtDW.CCU_MODE_FL == 1) && (rtDW.LO_HI_MODE_FL == 1)))) { case 1: case 5: /* Assignment: '/valves[1,2,5]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_out_kfv[0] = 100U; rtb_out_kfv[1] = 100U; rtb_out_kfv[4] = 20U; break; case 2: case 6: /* Assignment: '/valves[3,4,7]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_out_kfv[2] = 100U; rtb_out_kfv[3] = 100U; rtb_out_kfv[6] = 20U; break; case 3: /* Assignment: '/valves[1, 2, 3, 4, 5, 7]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ for (i = 0; i < 6; i++) { rtb_out_kfv[tmp_3[i]] = rtConstP.pooled98[i]; } /* End of Assignment: '/valves[1, 2, 3, 4, 5, 7]' */ break; case 7: /* Assignment: '/valves[1, 2, 3, 4, 5, 6, 7, 8]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ for (i = 0; i < 8; i++) { rtb_out_kfv[i] = rtConstP.pooled97[i]; } /* End of Assignment: '/valves[1, 2, 3, 4, 5, 6, 7, 8]' */ break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; case 2: case 3: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/LOW1' * Constant: '/LOW2' * Constant: '/LOW3' * Constant: '/LOW4' * Constant: '/auto' * Constant: '/auto' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read4' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Gain: '/Gain2' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * Logic: '/Logical Operator2' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator3' * RelationalOperator: '/Relational Operator4' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)(((uint32_t)(((rtDW.CCU_MODE_RL == 1) && (rtDW.LO_HI_MODE_RL == 1) && (rtDW.LO_HI_MODE_RR == 1) && (rtDW.CCU_MODE_RR == 1)) << 2) + (uint32_t)(((rtDW.CCU_MODE_FR == 1) && (rtDW.LO_HI_MODE_FR == 1)) << 1)) + (uint32_t)((rtDW.CCU_MODE_FL == 1) && (rtDW.LO_HI_MODE_FL == 1)))) { case 1: case 5: /* Assignment: '/valves[1,2,5]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_out_kfv[0] = 100U; rtb_out_kfv[1] = 100U; rtb_out_kfv[4] = 20U; break; case 2: case 6: /* Assignment: '/valves[3,4,7]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_out_kfv[2] = 100U; rtb_out_kfv[3] = 100U; rtb_out_kfv[6] = 20U; break; case 3: /* Assignment: '/valves[1, 2, 3, 4, 5, 7]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ for (i = 0; i < 6; i++) { rtb_out_kfv[tmp_3[i]] = rtConstP.pooled98[i]; } /* End of Assignment: '/valves[1, 2, 3, 4, 5, 7]' */ break; case 7: /* Assignment: '/valves[1, 2, 3, 4, 5, 6, 7, 8]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ for (i = 0; i < 8; i++) { rtb_out_kfv[i] = rtConstP.pooled97[i]; } /* End of Assignment: '/valves[1, 2, 3, 4, 5, 6, 7, 8]' */ break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; default: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/LOW1' * Constant: '/LOW2' * Constant: '/LOW3' * Constant: '/LOW4' * Constant: '/auto' * Constant: '/auto' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read4' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Gain: '/Gain2' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * Logic: '/Logical Operator2' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator3' * RelationalOperator: '/Relational Operator4' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)(((uint32_t)(((rtDW.CCU_MODE_RL == 1) && (rtDW.LO_HI_MODE_RL == 1) && (rtDW.LO_HI_MODE_RR == 1) && (rtDW.CCU_MODE_RR == 1)) << 2) + (uint32_t)(((rtDW.CCU_MODE_FR == 1) && (rtDW.LO_HI_MODE_FR == 1)) << 1)) + (uint32_t)((rtDW.CCU_MODE_FL == 1) && (rtDW.LO_HI_MODE_FL == 1)))) { case 1: case 5: /* Assignment: '/valves[1,2,5]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_out_kfv[0] = 100U; rtb_out_kfv[1] = 100U; rtb_out_kfv[4] = 20U; break; case 2: case 6: /* Assignment: '/valves[3,4,7]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_out_kfv[2] = 100U; rtb_out_kfv[3] = 100U; rtb_out_kfv[6] = 20U; break; case 3: /* Assignment: '/valves[1, 2, 3, 4, 5, 7]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ for (i = 0; i < 6; i++) { rtb_out_kfv[tmp_3[i]] = rtConstP.pooled98[i]; } /* End of Assignment: '/valves[1, 2, 3, 4, 5, 7]' */ break; case 7: /* Assignment: '/valves[1, 2, 3, 4, 5, 6, 7, 8]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ for (i = 0; i < 8; i++) { rtb_out_kfv[i] = rtConstP.pooled97[i]; } /* End of Assignment: '/valves[1, 2, 3, 4, 5, 6, 7, 8]' */ break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* Switch: '/Switch6' incorporates: * DataStoreRead: '/Data Store Read12' */ if (rtDW.CCU_AC_MAX <= 0) { /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read2' */ switch (rtDW.LEVEL) { case 0: case 1: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/HI' * Constant: '/HI1' * Constant: '/HI2' * Constant: '/HI3' * Constant: '/auto' * Constant: '/auto' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read4' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Gain: '/Gain2' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * Logic: '/Logical Operator2' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator3' * RelationalOperator: '/Relational Operator4' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)(((uint32_t)(((rtDW.CCU_MODE_RL == 1) && (rtDW.LO_HI_MODE_RL == 2) && (rtDW.LO_HI_MODE_RR == 2) && (rtDW.CCU_MODE_RR == 1)) << 2) + (uint32_t)(((rtDW.CCU_MODE_FR == 1) && (rtDW.LO_HI_MODE_FR == 2)) << 1)) + (uint32_t) ((rtDW.CCU_MODE_FL == 1) && (rtDW.LO_HI_MODE_FL == 2)))) { case 1: case 5: /* Assignment: '/valves[1,2,5]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ for (i = 0; i < 9; i++) { rtb_out_jgn[i] = rtb_out_kfv[i]; } rtb_out_jgn[0] = 60U; rtb_out_jgn[1] = 60U; rtb_out_jgn[4] = 100U; /* End of Assignment: '/valves[1,2,5]' */ break; case 2: case 6: /* Assignment: '/valves[3,4,7]' incorporates: * MultiPortSwitch: '/Multiport Switch' */ for (i = 0; i < 9; i++) { rtb_out_jgn[i] = rtb_out_kfv[i]; } /* End of Assignment: '/valves[3,4,7]' */ break; case 3: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Assignment: '/valves all' * Constant: '/Constant' */ for (i = 0; i < 9; i++) { rtb_out_jgn[i] = rtConstP.pooled92[i]; } break; case 7: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Assignment: '/valves all' * Constant: '/Constant' */ for (i = 0; i < 9; i++) { rtb_out_jgn[i] = rtConstP.pooled91[i]; } break; default: /* MultiPortSwitch: '/Multiport Switch' incorporates: * MultiPortSwitch: '/Multiport Switch' */ for (i = 0; i < 9; i++) { rtb_out_jgn[i] = rtb_out_kfv[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; case 2: case 3: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/HI' * Constant: '/HI1' * Constant: '/HI2' * Constant: '/HI3' * Constant: '/auto' * Constant: '/auto' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read4' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Gain: '/Gain2' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * Logic: '/Logical Operator2' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator3' * RelationalOperator: '/Relational Operator4' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)(((uint32_t)(((rtDW.CCU_MODE_RL == 1) && (rtDW.LO_HI_MODE_RL == 2) && (rtDW.LO_HI_MODE_RR == 2) && (rtDW.CCU_MODE_RR == 1)) << 2) + (uint32_t)(((rtDW.CCU_MODE_FR == 1) && (rtDW.LO_HI_MODE_FR == 2)) << 1)) + (uint32_t) ((rtDW.CCU_MODE_FL == 1) && (rtDW.LO_HI_MODE_FL == 2)))) { case 1: case 5: /* Assignment: '/valves[1,2,5]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ for (i = 0; i < 9; i++) { rtb_out_jgn[i] = rtb_out_kfv[i]; } rtb_out_jgn[0] = 60U; rtb_out_jgn[1] = 60U; rtb_out_jgn[4] = 100U; /* End of Assignment: '/valves[1,2,5]' */ break; case 2: case 6: /* Assignment: '/valves[3,4,7]' incorporates: * MultiPortSwitch: '/Multiport Switch' */ for (i = 0; i < 9; i++) { rtb_out_jgn[i] = rtb_out_kfv[i]; } /* End of Assignment: '/valves[3,4,7]' */ break; case 3: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Assignment: '/valves all' * Constant: '/Constant' */ for (i = 0; i < 9; i++) { rtb_out_jgn[i] = rtConstP.pooled95[i]; } break; case 7: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Assignment: '/valves all' * Constant: '/Constant' */ for (i = 0; i < 9; i++) { rtb_out_jgn[i] = rtConstP.pooled94[i]; } break; default: /* MultiPortSwitch: '/Multiport Switch' incorporates: * MultiPortSwitch: '/Multiport Switch' */ for (i = 0; i < 9; i++) { rtb_out_jgn[i] = rtb_out_kfv[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; default: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/HI' * Constant: '/HI1' * Constant: '/HI2' * Constant: '/HI3' * Constant: '/auto' * Constant: '/auto' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read4' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Gain: '/Gain2' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * Logic: '/Logical Operator2' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator3' * RelationalOperator: '/Relational Operator4' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)(((uint32_t)(((rtDW.CCU_MODE_RL == 1) && (rtDW.LO_HI_MODE_RL == 2) && (rtDW.LO_HI_MODE_RR == 2) && (rtDW.CCU_MODE_RR == 1)) << 2) + (uint32_t)(((rtDW.CCU_MODE_FR == 1) && (rtDW.LO_HI_MODE_FR == 2)) << 1)) + (uint32_t) ((rtDW.CCU_MODE_FL == 1) && (rtDW.LO_HI_MODE_FL == 2)))) { case 1: case 5: /* Assignment: '/valves[1,2,5]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ for (i = 0; i < 9; i++) { rtb_out_jgn[i] = rtb_out_kfv[i]; } rtb_out_jgn[0] = 60U; rtb_out_jgn[1] = 60U; rtb_out_jgn[4] = 100U; /* End of Assignment: '/valves[1,2,5]' */ break; case 2: case 6: /* Assignment: '/valves[3,4,7]' incorporates: * MultiPortSwitch: '/Multiport Switch' */ for (i = 0; i < 9; i++) { rtb_out_jgn[i] = rtb_out_kfv[i]; } /* End of Assignment: '/valves[3,4,7]' */ break; case 3: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Assignment: '/valves all' * Constant: '/Constant' */ for (i = 0; i < 9; i++) { rtb_out_jgn[i] = rtConstP.pooled96[i]; } break; case 7: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Assignment: '/valves all' * Constant: '/Constant' */ for (i = 0; i < 9; i++) { rtb_out_jgn[i] = rtConstP.pooled94[i]; } break; default: /* MultiPortSwitch: '/Multiport Switch' incorporates: * MultiPortSwitch: '/Multiport Switch' */ for (i = 0; i < 9; i++) { rtb_out_jgn[i] = rtb_out_kfv[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; } /* End of MultiPortSwitch: '/Multiport Switch' */ } /* End of Switch: '/Switch6' */ /* Sum: '/Add' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * Constant: '/Constant2' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read3' * Gain: '/Gain1' * Gain: '/Gain2' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' */ rtb_Saturation2_a = (uint16_t)(((uint32_t)((rtDW.CCU_FACE_FR == 1) << 1) + (uint32_t)(rtDW.CCU_DEF_FR == 1)) + (uint32_t)((rtDW.CCU_FOOT_FR == 1) << 2)); /* MATLAB Function: '/Valves for Hi_Level' */ /* : out = g_ausFLOW_FR_DE2VALVE; */ /* : out = g_ausFLOW_FR_VE2VALVE; */ ValvesforHi_Level(rtb_out_nxs); /* MATLAB Function: '/Valves for Foot + Def' */ /* : out = g_ausFLOW_FR_FO2VALVE; */ ValvesforFootDef(rtb_out_n); /* MATLAB Function: '/Valves for Bi Level' */ ValvesforBiLevel(rtb_out_f); /* MATLAB Function: '/Valves for Tri-Level' */ ValvesforTriLevel(rtb_out_kfv); /* Saturate: '/Saturation1' incorporates: * DataStoreRead: '/Data Store Read17' */ if (rtDW.CCU_SET_FR > 290) { rtb_out_kez = 290U; } else if (rtDW.CCU_SET_FR < 170) { rtb_out_kez = 170U; } else { rtb_out_kez = rtDW.CCU_SET_FR; } /* MATLAB Function: '/MODE_for_set_and_lvl1' incorporates: * Gain: '/Gain1' * Saturate: '/Saturation1' */ MODE_for_set_and_lvl(rtb_DataTypeConversion1_nc, (int16_t)((52429U * rtb_out_kez) >> 19), &rtb_DataTypeConversion3_it); /* Switch: '/Switch1' incorporates: * Constant: '/manual1' * DataStoreRead: '/Data Store Read8' * RelationalOperator: '/Equal2' */ /* : modes_array = [ */ /* : g_ausFLOW_FR_VE2VALVE; */ /* : g_ausFLOW_FR_BIVALVE; */ /* : g_ausFLOW_FR_BI2VALVE; */ /* : g_ausFLOW_FR_AF2VALVE; */ /* : g_ausFLOW_FR_AF2VALVE_SUMMER]; */ /* : index = idivide(MODE, 10); */ /* : get_valves = modes_array(index, :); */ if (rtDW.CCU_MODE_FR == 0) { /* MultiPortSwitch: '/Multiport Switch' incorporates: * MATLAB Function: '/Valves for Def' * MATLAB Function: '/Valves for Foot' * MATLAB Function: '/Valves for Vent mode' */ switch (rtb_Saturation2_a) { case 0: for (i = 0; i < 9; i++) { rtb_out_kfv[i] = 0U; } break; case 1: for (i = 0; i < 9; i++) { rtb_out_kfv[i] = g_ausFLOW_FR_DE2VALVE[i]; } break; case 2: for (i = 0; i < 9; i++) { rtb_out_kfv[i] = g_ausFLOW_FR_VE2VALVE[i]; } break; case 3: for (i = 0; i < 9; i++) { rtb_out_kfv[i] = rtb_out_nxs[i]; } break; case 4: for (i = 0; i < 9; i++) { rtb_out_kfv[i] = g_ausFLOW_FR_FO2VALVE[i]; } break; case 5: for (i = 0; i < 9; i++) { rtb_out_kfv[i] = rtb_out_n[i]; } break; case 6: for (i = 0; i < 9; i++) { rtb_out_kfv[i] = rtb_out_f[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ } else { /* MATLAB Function: '/valves_front_right' */ rtb_Gain2 = (int32_t)trunc((double)rtb_DataTypeConversion3_it / 10.0); for (index_start_0 = 0; index_start_0 < 9; index_start_0++) { tmp[5 * index_start_0] = g_ausFLOW_FR_VE2VALVE[index_start_0]; tmp[5 * index_start_0 + 1] = g_ausFLOW_FR_BIVALVE[index_start_0]; tmp[5 * index_start_0 + 2] = g_ausFLOW_FR_BI2VALVE[index_start_0]; tmp[5 * index_start_0 + 3] = g_ausFLOW_FR_AF2VALVE[index_start_0]; tmp[5 * index_start_0 + 4] = g_ausFLOW_FR_AF2VALVE_SUMMER[index_start_0]; rtb_out_kfv[index_start_0] = tmp[(5 * index_start_0 + rtb_Gain2) - 1]; } /* End of MATLAB Function: '/valves_front_right' */ } /* End of Switch: '/Switch1' */ /* Assignment: '/set valves[7]' incorporates: * DataStoreRead: '/Data Store Read2' * SignalConversion generated from: '/set valves[7]' * Sum: '/Add' */ for (i = 0; i < 9; i++) { rtb_out_nxs[i] = rtb_out_kfv[i]; } rtb_out_nxs[6] = (uint16_t)(rtb_out_kfv[6] + rtDW.Valve_individual_foot_FR); /* End of Assignment: '/set valves[7]' */ /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/LOW1' * Constant: '/LOW2' * Constant: '/manual' * Constant: '/manual1' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read1' * Gain: '/Gain1' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal2' * Sum: '/Add' */ switch ((int32_t)((uint32_t)(((rtDW.LO_HI_MODE_FR == 1) && (rtDW.CCU_MODE_FR == 0)) << 1) + (uint32_t)((rtDW.CCU_MODE_FL == 0) && (rtDW.LO_HI_MODE_FL == 1)))) { case 1: /* Assignment: '/valves[6]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_out_nxs[5] = 0U; break; case 2: /* Assignment: '/valves[8]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_out_nxs[7] = 0U; break; case 3: /* Assignment: '/valves[6]' incorporates: * Assignment: '/valves[8]' * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_out_nxs[5] = 0U; /* Assignment: '/valves[8]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_out_nxs[7] = 0U; break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/LOW' * Constant: '/LOW3' * Constant: '/manual' * Constant: '/manual' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read4' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator3' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)((uint32_t)(((rtDW.LO_HI_MODE_RR == 1) && (rtDW.CCU_MODE_RR == 0)) << 1) + (uint32_t)((rtDW.CCU_MODE_RL == 0) && (rtDW.LO_HI_MODE_RL == 1)))) { case 1: /* Assignment: '/valves[6]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_out_nxs[5] = 0U; break; case 2: /* Assignment: '/valves[8]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_out_nxs[7] = 0U; break; case 3: /* Assignment: '/valves[6]' incorporates: * Assignment: '/valves[8]' * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_out_nxs[5] = 0U; /* Assignment: '/valves[8]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_out_nxs[7] = 0U; break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/HI' * Constant: '/HI1' * Constant: '/manual' * Constant: '/manual1' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read1' * Gain: '/Gain1' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * MultiPortSwitch: '/Multiport Switch' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal2' * Sum: '/Add' */ switch ((int32_t)((uint32_t)(((rtDW.LO_HI_MODE_FR == 2) && (rtDW.CCU_MODE_FR == 0)) << 1) + (uint32_t)((rtDW.CCU_MODE_FL == 0) && (rtDW.LO_HI_MODE_FL == 2)))) { case 1: for (i = 0; i < 9; i++) { /* MultiPortSwitch: '/Multiport Switch' incorporates: * Assignment: '/valves[6]' * Assignment: '/valves[8]' * MultiPortSwitch: '/Multiport Switch' * SignalConversion generated from: '/valves[6]' */ rtb_out_n[i] = rtb_out_nxs[i]; } /* Assignment: '/valves[6]' incorporates: * Assignment: '/valves[8]' * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_out_n[5] = 0U; /* Assignment: '/valves[8]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_out_n[7] = 0U; break; case 2: for (i = 0; i < 9; i++) { /* MultiPortSwitch: '/Multiport Switch' incorporates: * Assignment: '/valves[6]' * Assignment: '/valves[8]' * MultiPortSwitch: '/Multiport Switch' * SignalConversion generated from: '/valves[6]' */ rtb_out_n[i] = rtb_out_nxs[i]; } /* Assignment: '/valves[6]' incorporates: * Assignment: '/valves[8]' * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_out_n[5] = 0U; /* Assignment: '/valves[8]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_out_n[7] = 0U; break; case 3: for (i = 0; i < 9; i++) { /* MultiPortSwitch: '/Multiport Switch' incorporates: * Assignment: '/valves[6]' * Assignment: '/valves[8]' * MultiPortSwitch: '/Multiport Switch' * SignalConversion generated from: '/valves[6]' */ rtb_out_n[i] = rtb_out_nxs[i]; } /* Assignment: '/valves[6]' incorporates: * Assignment: '/valves[8]' * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_out_n[5] = 0U; /* Assignment: '/valves[8]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_out_n[7] = 0U; break; default: for (i = 0; i < 9; i++) { rtb_out_n[i] = rtb_out_nxs[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* Switch: '/Switch2' incorporates: * Constant: '/HI' * Constant: '/HI1' * Constant: '/HI2' * Constant: '/HI3' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read4' * Logic: '/Logical Operator' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator3' */ if ((rtDW.LO_HI_MODE_FL != 2) || (rtDW.LO_HI_MODE_FR != 2) || (rtDW.LO_HI_MODE_RL != 2) || (rtDW.LO_HI_MODE_RR != 2)) { /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/HI' * Constant: '/HI1' * Constant: '/manual' * Constant: '/manual' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)((uint32_t)(((rtDW.LO_HI_MODE_RR == 2) && (rtDW.CCU_MODE_RR == 0)) << 1) + (uint32_t)((rtDW.CCU_MODE_RL == 0) && (rtDW.LO_HI_MODE_RL == 2)))) { case 1: for (i = 0; i < 9; i++) { /* Switch: '/Switch2' incorporates: * Assignment: '/valves[6]' * MultiPortSwitch: '/Multiport Switch' * SignalConversion generated from: '/valves[6]' */ rtb_out_nxs[i] = rtb_out_n[i]; } /* Assignment: '/valves[6]' incorporates: * Constant: '/Constant' * Switch: '/Switch2' */ rtb_out_nxs[5] = 0U; break; case 2: for (i = 0; i < 9; i++) { /* Switch: '/Switch2' incorporates: * Assignment: '/valves[8]' * MultiPortSwitch: '/Multiport Switch' * SignalConversion generated from: '/valves[8]' */ rtb_out_nxs[i] = rtb_out_n[i]; } /* Assignment: '/valves[8]' incorporates: * Constant: '/Constant' * Switch: '/Switch2' */ rtb_out_nxs[7] = 0U; break; case 3: for (i = 0; i < 9; i++) { /* Switch: '/Switch2' incorporates: * Assignment: '/valves[8]' * MultiPortSwitch: '/Multiport Switch' * SignalConversion generated from: '/valves[8]' */ rtb_out_nxs[i] = rtb_out_n[i]; } /* Assignment: '/valves[8]' incorporates: * Constant: '/Constant' * Switch: '/Switch2' */ rtb_out_nxs[7] = 0U; break; default: /* Switch: '/Switch2' incorporates: * MultiPortSwitch: '/Multiport Switch' */ for (i = 0; i < 9; i++) { rtb_out_nxs[i] = rtb_out_n[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ } /* End of Switch: '/Switch2' */ /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read2' */ switch (rtDW.LEVEL) { case 0: case 1: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/LOW1' * Constant: '/LOW2' * Constant: '/LOW3' * Constant: '/LOW4' * Constant: '/auto' * Constant: '/auto' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read4' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Gain: '/Gain2' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * Logic: '/Logical Operator2' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator3' * RelationalOperator: '/Relational Operator4' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)(((uint32_t)(((rtDW.CCU_MODE_RL == 1) && (rtDW.LO_HI_MODE_RL == 1) && (rtDW.LO_HI_MODE_RR == 1) && (rtDW.CCU_MODE_RR == 1)) << 2) + (uint32_t)(((rtDW.CCU_MODE_FR == 1) && (rtDW.LO_HI_MODE_FR == 1)) << 1)) + (uint32_t)((rtDW.CCU_MODE_FL == 1) && (rtDW.LO_HI_MODE_FL == 1)))) { case 1: case 5: /* Assignment: '/valves[1,2,5]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_out_nxs[0] = 100U; rtb_out_nxs[1] = 100U; rtb_out_nxs[4] = 20U; break; case 2: case 6: /* Assignment: '/valves[3,4,7]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_out_nxs[2] = 100U; rtb_out_nxs[3] = 100U; rtb_out_nxs[6] = 20U; break; case 3: /* Assignment: '/valves[1, 2, 3, 4, 5, 7]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ for (i = 0; i < 6; i++) { rtb_out_nxs[tmp_3[i]] = rtConstP.pooled98[i]; } /* End of Assignment: '/valves[1, 2, 3, 4, 5, 7]' */ break; case 7: /* Assignment: '/valves[1, 2, 3, 4, 5, 6, 7, 8]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ for (i = 0; i < 8; i++) { rtb_out_nxs[i] = rtConstP.pooled97[i]; } /* End of Assignment: '/valves[1, 2, 3, 4, 5, 6, 7, 8]' */ break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; case 2: case 3: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/LOW1' * Constant: '/LOW2' * Constant: '/LOW3' * Constant: '/LOW4' * Constant: '/auto' * Constant: '/auto' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read4' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Gain: '/Gain2' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * Logic: '/Logical Operator2' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator3' * RelationalOperator: '/Relational Operator4' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)(((uint32_t)(((rtDW.CCU_MODE_RL == 1) && (rtDW.LO_HI_MODE_RL == 1) && (rtDW.LO_HI_MODE_RR == 1) && (rtDW.CCU_MODE_RR == 1)) << 2) + (uint32_t)(((rtDW.CCU_MODE_FR == 1) && (rtDW.LO_HI_MODE_FR == 1)) << 1)) + (uint32_t)((rtDW.CCU_MODE_FL == 1) && (rtDW.LO_HI_MODE_FL == 1)))) { case 1: case 5: /* Assignment: '/valves[1,2,5]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_out_nxs[0] = 100U; rtb_out_nxs[1] = 100U; rtb_out_nxs[4] = 20U; break; case 2: case 6: /* Assignment: '/valves[3,4,7]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_out_nxs[2] = 100U; rtb_out_nxs[3] = 100U; rtb_out_nxs[6] = 20U; break; case 3: /* Assignment: '/valves[1, 2, 3, 4, 5, 7]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ for (i = 0; i < 6; i++) { rtb_out_nxs[tmp_3[i]] = rtConstP.pooled98[i]; } /* End of Assignment: '/valves[1, 2, 3, 4, 5, 7]' */ break; case 7: /* Assignment: '/valves[1, 2, 3, 4, 5, 6, 7, 8]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ for (i = 0; i < 8; i++) { rtb_out_nxs[i] = rtConstP.pooled97[i]; } /* End of Assignment: '/valves[1, 2, 3, 4, 5, 6, 7, 8]' */ break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; default: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/LOW1' * Constant: '/LOW2' * Constant: '/LOW3' * Constant: '/LOW4' * Constant: '/auto' * Constant: '/auto' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read4' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Gain: '/Gain2' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * Logic: '/Logical Operator2' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator3' * RelationalOperator: '/Relational Operator4' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)(((uint32_t)(((rtDW.CCU_MODE_RL == 1) && (rtDW.LO_HI_MODE_RL == 1) && (rtDW.LO_HI_MODE_RR == 1) && (rtDW.CCU_MODE_RR == 1)) << 2) + (uint32_t)(((rtDW.CCU_MODE_FR == 1) && (rtDW.LO_HI_MODE_FR == 1)) << 1)) + (uint32_t)((rtDW.CCU_MODE_FL == 1) && (rtDW.LO_HI_MODE_FL == 1)))) { case 1: case 5: /* Assignment: '/valves[1,2,5]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_out_nxs[0] = 100U; rtb_out_nxs[1] = 100U; rtb_out_nxs[4] = 20U; break; case 2: case 6: /* Assignment: '/valves[3,4,7]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_out_nxs[2] = 100U; rtb_out_nxs[3] = 100U; rtb_out_nxs[6] = 20U; break; case 3: /* Assignment: '/valves[1, 2, 3, 4, 5, 7]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ for (i = 0; i < 6; i++) { rtb_out_nxs[tmp_3[i]] = rtConstP.pooled98[i]; } /* End of Assignment: '/valves[1, 2, 3, 4, 5, 7]' */ break; case 7: /* Assignment: '/valves[1, 2, 3, 4, 5, 6, 7, 8]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ for (i = 0; i < 8; i++) { rtb_out_nxs[i] = rtConstP.pooled97[i]; } /* End of Assignment: '/valves[1, 2, 3, 4, 5, 6, 7, 8]' */ break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* Switch: '/Switch4' incorporates: * DataStoreRead: '/Data Store Read13' */ if (rtDW.CCU_AC_MAX <= 0) { /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read2' */ switch (rtDW.LEVEL) { case 0: case 1: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/HI' * Constant: '/HI1' * Constant: '/HI2' * Constant: '/HI3' * Constant: '/auto' * Constant: '/auto' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read4' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Gain: '/Gain2' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * Logic: '/Logical Operator2' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator3' * RelationalOperator: '/Relational Operator4' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)(((uint32_t)(((rtDW.CCU_MODE_RL == 1) && (rtDW.LO_HI_MODE_RL == 2) && (rtDW.LO_HI_MODE_RR == 2) && (rtDW.CCU_MODE_RR == 1)) << 2) + (uint32_t)(((rtDW.CCU_MODE_FR == 1) && (rtDW.LO_HI_MODE_FR == 2)) << 1)) + (uint32_t) ((rtDW.CCU_MODE_FL == 1) && (rtDW.LO_HI_MODE_FL == 2)))) { case 1: case 5: /* Assignment: '/valves[1,2,5]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ for (i = 0; i < 9; i++) { rtb_out_kfv[i] = rtb_out_nxs[i]; } rtb_out_kfv[0] = 60U; rtb_out_kfv[1] = 60U; rtb_out_kfv[4] = 100U; /* End of Assignment: '/valves[1,2,5]' */ break; case 2: case 6: /* Assignment: '/valves[3,4,7]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ for (i = 0; i < 9; i++) { rtb_out_kfv[i] = rtb_out_nxs[i]; } rtb_out_kfv[2] = 60U; rtb_out_kfv[3] = 60U; rtb_out_kfv[6] = 100U; /* End of Assignment: '/valves[3,4,7]' */ break; case 3: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Assignment: '/valves all' * Constant: '/Constant' */ for (i = 0; i < 9; i++) { rtb_out_kfv[i] = rtConstP.pooled92[i]; } break; case 7: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Assignment: '/valves all' * Constant: '/Constant' */ for (i = 0; i < 9; i++) { rtb_out_kfv[i] = rtConstP.pooled91[i]; } break; default: /* MultiPortSwitch: '/Multiport Switch' incorporates: * MultiPortSwitch: '/Multiport Switch' */ for (i = 0; i < 9; i++) { rtb_out_kfv[i] = rtb_out_nxs[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; case 2: case 3: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/HI' * Constant: '/HI1' * Constant: '/HI2' * Constant: '/HI3' * Constant: '/auto' * Constant: '/auto' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read4' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Gain: '/Gain2' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * Logic: '/Logical Operator2' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator3' * RelationalOperator: '/Relational Operator4' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)(((uint32_t)(((rtDW.CCU_MODE_RL == 1) && (rtDW.LO_HI_MODE_RL == 2) && (rtDW.LO_HI_MODE_RR == 2) && (rtDW.CCU_MODE_RR == 1)) << 2) + (uint32_t)(((rtDW.CCU_MODE_FR == 1) && (rtDW.LO_HI_MODE_FR == 2)) << 1)) + (uint32_t) ((rtDW.CCU_MODE_FL == 1) && (rtDW.LO_HI_MODE_FL == 2)))) { case 1: case 5: /* Assignment: '/valves[1,2,5]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ for (i = 0; i < 9; i++) { rtb_out_kfv[i] = rtb_out_nxs[i]; } rtb_out_kfv[0] = 60U; rtb_out_kfv[1] = 60U; rtb_out_kfv[4] = 100U; /* End of Assignment: '/valves[1,2,5]' */ break; case 2: case 6: /* Assignment: '/valves[3,4,7]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ for (i = 0; i < 9; i++) { rtb_out_kfv[i] = rtb_out_nxs[i]; } rtb_out_kfv[2] = 60U; rtb_out_kfv[3] = 60U; rtb_out_kfv[6] = 100U; /* End of Assignment: '/valves[3,4,7]' */ break; case 3: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Assignment: '/valves all' * Constant: '/Constant' */ for (i = 0; i < 9; i++) { rtb_out_kfv[i] = rtConstP.pooled95[i]; } break; case 7: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Assignment: '/valves all' * Constant: '/Constant' */ for (i = 0; i < 9; i++) { rtb_out_kfv[i] = rtConstP.pooled94[i]; } break; default: /* MultiPortSwitch: '/Multiport Switch' incorporates: * MultiPortSwitch: '/Multiport Switch' */ for (i = 0; i < 9; i++) { rtb_out_kfv[i] = rtb_out_nxs[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; default: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/HI' * Constant: '/HI1' * Constant: '/HI2' * Constant: '/HI3' * Constant: '/auto' * Constant: '/auto' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read4' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Gain: '/Gain2' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * Logic: '/Logical Operator2' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator3' * RelationalOperator: '/Relational Operator4' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)(((uint32_t)(((rtDW.CCU_MODE_RL == 1) && (rtDW.LO_HI_MODE_RL == 2) && (rtDW.LO_HI_MODE_RR == 2) && (rtDW.CCU_MODE_RR == 1)) << 2) + (uint32_t)(((rtDW.CCU_MODE_FR == 1) && (rtDW.LO_HI_MODE_FR == 2)) << 1)) + (uint32_t) ((rtDW.CCU_MODE_FL == 1) && (rtDW.LO_HI_MODE_FL == 2)))) { case 1: case 5: /* Assignment: '/valves[1,2,5]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ for (i = 0; i < 9; i++) { rtb_out_kfv[i] = rtb_out_nxs[i]; } rtb_out_kfv[0] = 60U; rtb_out_kfv[1] = 60U; rtb_out_kfv[4] = 100U; /* End of Assignment: '/valves[1,2,5]' */ break; case 2: case 6: /* Assignment: '/valves[3,4,7]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ for (i = 0; i < 9; i++) { rtb_out_kfv[i] = rtb_out_nxs[i]; } rtb_out_kfv[2] = 60U; rtb_out_kfv[3] = 60U; rtb_out_kfv[6] = 100U; /* End of Assignment: '/valves[3,4,7]' */ break; case 3: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Assignment: '/valves all' * Constant: '/Constant' */ for (i = 0; i < 9; i++) { rtb_out_kfv[i] = rtConstP.pooled96[i]; } break; case 7: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Assignment: '/valves all' * Constant: '/Constant' */ for (i = 0; i < 9; i++) { rtb_out_kfv[i] = rtConstP.pooled94[i]; } break; default: /* MultiPortSwitch: '/Multiport Switch' incorporates: * MultiPortSwitch: '/Multiport Switch' */ for (i = 0; i < 9; i++) { rtb_out_kfv[i] = rtb_out_nxs[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; } /* End of MultiPortSwitch: '/Multiport Switch' */ } /* End of Switch: '/Switch4' */ /* Assignment: '/Присваивание в [3-4]' */ rtb_out_jgn[2] = rtb_out_kfv[2]; /* Assignment: '/Присваивание в [7-8]' */ rtb_out_jgn[6] = rtb_out_kfv[6]; /* Assignment: '/Присваивание в [3-4]' */ rtb_out_jgn[3] = rtb_out_kfv[3]; /* Assignment: '/Присваивание в [7-8]' */ rtb_out_jgn[7] = rtb_out_kfv[7]; /* Switch: '/Switch5' incorporates: * DataStoreRead: '/Data Store Read15' */ if (rtDW.Foot2_control_FL_is_active) { /* Assignment: '/в [6] (foot2 FL valve)' incorporates: * DataStoreRead: '/Data Store Read1' * Switch: '/Switch5' */ rtb_out_jgn[5] = rtDW.Foot2_control_FL; } /* End of Switch: '/Switch5' */ /* Switch: '/Switch1' incorporates: * DataStoreRead: '/Data Store Read3' */ if (rtDW.Foot2_control_FR_is_active) { /* Assignment: '/в [8] (foot2 FR valve)' incorporates: * DataStoreRead: '/Data Store Read2' * Switch: '/Switch1' */ rtb_out_jgn[7] = rtDW.Foot2_control_FR; } /* End of Switch: '/Switch1' */ /* Switch: '/Switch5' incorporates: * DataStoreRead: '/Data Store Read15' */ if (!rtDW.Max_def_algo_active) { /* Switch: '/Switch6' incorporates: * DataStoreRead: '/Data Store Read' */ if (rtDW.def_valve_100_req) { for (i = 0; i < 9; i++) { /* Switch: '/Switch5' incorporates: * Assignment: '/в [9] (Def valve)' * Switch: '/Switch1' */ rtb_out_n1[i] = rtb_out_jgn[i]; } /* Assignment: '/в [9] (Def valve)' incorporates: * Constant: '/Constant' * Switch: '/Switch5' */ rtb_out_n1[8] = 100U; } else { /* Switch: '/Switch5' incorporates: * Switch: '/Switch1' */ for (i = 0; i < 9; i++) { rtb_out_n1[i] = rtb_out_jgn[i]; } } /* End of Switch: '/Switch6' */ } /* End of Switch: '/Switch5' */ /* Outputs for Enabled SubSystem: '/Rear valves left - manual directions' incorporates: * EnablePort: '/Enable' */ /* RelationalOperator: '/Equal2' incorporates: * Constant: '/Constant2' * DataStoreRead: '/Data Store Read44' */ if (rtDW.CCU_MODE_RL == 0) { /* RelationalOperator: '/Relational Operator2' incorporates: * Constant: '/Constant2' * DataStoreRead: '/Data Store Read24' */ rtb_LogicalOperator_fc = (rtDW.CCU_FOOT_RL == 1); /* Sum: '/Add' incorporates: * Constant: '/Constant1' * DataStoreRead: '/Data Store Read23' * DataTypeConversion: '/Data Type Conversion5' * Gain: '/Gain2' * RelationalOperator: '/Relational Operator1' */ rtb_out_kez = (uint16_t)((uint32_t)(rtDW.CCU_FACE_RL == 1) + (uint32_t) (rtb_LogicalOperator_fc << 1)); /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant4' * Constant: '/Constant5' * Constant: '/Constant6' * Constant: '/Constant7' * DataStoreWrite: '/Data Store Write' */ switch (rtb_out_kez) { case 0: rtDW.Index_mode_RL_manual = 0U; break; case 1: rtDW.Index_mode_RL_manual = 120U; break; case 2: rtDW.Index_mode_RL_manual = 140U; break; default: rtDW.Index_mode_RL_manual = 130U; break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* MATLAB Function: '/AF for Bi Level' */ AFforBiLevel_i(rtB.MultiportSwitch_h); /* MATLAB Function: '/valves for Vent mode' */ /* : out = g_ausFLOW_RE_FO2VALVE; */ valvesforVentmode(rtb_Gain1_o3); /* MultiPortSwitch: '/Multiport Switch' */ switch (rtb_out_kez) { case 0: /* MultiPortSwitch: '/Multiport Switch' */ for (i = 0; i < 6; i++) { rtB.MultiportSwitch_h[i] = 0U; } break; case 1: /* MultiPortSwitch: '/Multiport Switch' */ for (i = 0; i < 6; i++) { rtB.MultiportSwitch_h[i] = rtb_Gain1_o3[i]; } break; case 2: /* MultiPortSwitch: '/Multiport Switch' incorporates: * MATLAB Function: '/AF for Foot' */ for (i = 0; i < 6; i++) { rtB.MultiportSwitch_h[i] = g_ausFLOW_RE_FO2VALVE[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ } /* End of RelationalOperator: '/Equal2' */ /* End of Outputs for SubSystem: '/Rear valves left - manual directions' */ /* RelationalOperator: '/Equal3' incorporates: * Constant: '/manual2' * DataStoreRead: '/Data Store Read9' */ rtb_LogicalOperator = (rtDW.CCU_MODE_RL == 0); /* MATLAB Function: '/MODE_by_duct_tg_R_for_LVL' */ /* : modes_array = [ */ /* : g_ausMODE_BY_DUCT_TG_R_LV0; */ /* : g_ausMODE_BY_DUCT_TG_R_LV1; */ /* : g_ausMODE_BY_DUCT_TG_R_LV2; */ /* : g_ausMODE_BY_DUCT_TG_R_LV3; */ /* : g_ausMODE_BY_DUCT_TG_R_LV4; */ /* : g_ausMODE_BY_DUCT_TG_R_LV5]; */ /* : get_mode = modes_array(LVL + 1, :); */ for (rtb_Gain2 = 0; rtb_Gain2 < 7; rtb_Gain2++) { tmp_0[6 * rtb_Gain2] = g_ausMODE_BY_DUCT_TG_R_LV0[rtb_Gain2]; tmp_0[6 * rtb_Gain2 + 1] = g_ausMODE_BY_DUCT_TG_R_LV1[rtb_Gain2]; tmp_0[6 * rtb_Gain2 + 2] = g_ausMODE_BY_DUCT_TG_R_LV2[rtb_Gain2]; tmp_0[6 * rtb_Gain2 + 3] = g_ausMODE_BY_DUCT_TG_R_LV3[rtb_Gain2]; tmp_0[6 * rtb_Gain2 + 4] = g_ausMODE_BY_DUCT_TG_R_LV4[rtb_Gain2]; tmp_0[6 * rtb_Gain2 + 5] = g_ausMODE_BY_DUCT_TG_R_LV5[rtb_Gain2]; rtb_get_mode[rtb_Gain2] = tmp_0[6 * rtb_Gain2 + rtb_DataTypeConversion1_nc]; } /* End of MATLAB Function: '/MODE_by_duct_tg_R_for_LVL' */ /* If: '/If2' incorporates: * DataStoreRead: '/Data Store Read6' * Sum: '/Subtract' * UnitDelay: '/Unit Delay' */ if ((int16_t)(rtb_Merge_b - rtDW.UnitDelay_DSTATE_fq) >= 0) { /* Outputs for IfAction SubSystem: '/duct_tg увеличивается RL' incorporates: * ActionPort: '/Action Port' */ /* SignalConversion generated from: '/rear_mode_index' incorporates: * MATLAB Function: '/increase' */ increase(rtb_Merge_b, rtb_get_mode, &rtb_out_kez); /* End of Outputs for SubSystem: '/duct_tg увеличивается RL' */ } else { /* Outputs for IfAction SubSystem: '/duct_tg уменьшается RL' incorporates: * ActionPort: '/Action Port' */ /* SignalConversion generated from: '/y' incorporates: * MATLAB Function: '/decrease' */ decrease(rtb_Merge_b, rtb_get_mode, &rtb_out_kez); /* End of Outputs for SubSystem: '/duct_tg уменьшается RL' */ } /* End of If: '/If2' */ /* MATLAB Function: '/valves_rear_left' */ valves_rear_left_e(rtb_out_kez, rtb_TmpSignalConversionAt1DLookupTable7Inport1); /* If: '/If1' incorporates: * Constant: '/Constant' * Constant: '/Constant' * Constant: '/Constant' * Constant: '/Constant' * DataStoreRead: '/Data Store Read' * DataStoreRead: '/mode from Start Control' * Logic: '/Logical Operator' * RelationalOperator: '/Compare' * RelationalOperator: '/Compare' * RelationalOperator: '/Compare' * RelationalOperator: '/Compare' */ if (((rtDW.step_start_controle_rear == 0) || (rtDW.step_start_controle_rear == 1) || (rtDW.step_start_controle_rear == 2)) && (rtDW.Mode_RL > 0)) { /* Outputs for IfAction SubSystem: '/If Action Subsystem' incorporates: * ActionPort: '/Action Port' */ /* SignalConversion generated from: '/get_valves' incorporates: * DataStoreRead: '/mode from Start Control' * MATLAB Function: '/valves_rear_left' * Merge: '/Merge' */ valves_rear_left(rtDW.Mode_RL, rtb_Gain1_o3); /* End of Outputs for SubSystem: '/If Action Subsystem' */ } else { /* Outputs for IfAction SubSystem: '/If Action Subsystem1' incorporates: * ActionPort: '/Action Port' */ /* SignalConversion generated from: '/In1' */ for (i = 0; i < 6; i++) { /* Switch: '/Switch2' incorporates: * Merge: '/Merge' * MultiPortSwitch: '/Multiport Switch' * SignalConversion generated from: '/1-D Lookup Table7' */ if (rtb_LogicalOperator) { rtb_Gain1_o3[i] = rtB.MultiportSwitch_h[i]; } else { rtb_Gain1_o3[i] = rtb_TmpSignalConversionAt1DLookupTable7Inport1[i]; } /* End of Switch: '/Switch2' */ } /* End of SignalConversion generated from: '/In1' */ /* End of Outputs for SubSystem: '/If Action Subsystem1' */ } /* End of If: '/If1' */ /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read2' */ switch (rtDW.LEVEL) { case 0: case 1: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/LOW1' * Constant: '/LOW2' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)((uint32_t)(((rtDW.LO_HI_MODE_RR == 1) && (rtDW.CCU_MODE_RR == 1)) << 1) + (uint32_t)((rtDW.CCU_MODE_RL == 1) && (rtDW.LO_HI_MODE_RL == 1)))) { case 1: /* Assignment: '/valves[1,2,5]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_Gain1_o3[0] = 100U; rtb_Gain1_o3[1] = 100U; rtb_Gain1_o3[4] = 0U; break; case 2: break; case 3: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Assignment: '/valves all' * Constant: '/Constant' */ for (i = 0; i < 6; i++) { rtb_Gain1_o3[i] = rtConstP.pooled103[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; case 2: case 3: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/LOW1' * Constant: '/LOW2' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)((uint32_t)(((rtDW.LO_HI_MODE_RR == 1) && (rtDW.CCU_MODE_RR == 1)) << 1) + (uint32_t)((rtDW.CCU_MODE_RL == 1) && (rtDW.LO_HI_MODE_RL == 1)))) { case 1: /* Assignment: '/valves[1,2,5]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_Gain1_o3[0] = 100U; rtb_Gain1_o3[1] = 100U; rtb_Gain1_o3[4] = 0U; break; case 2: break; case 3: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Assignment: '/valves all' * Constant: '/Constant' */ for (i = 0; i < 6; i++) { rtb_Gain1_o3[i] = rtConstP.pooled103[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; default: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/LOW1' * Constant: '/LOW2' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)((uint32_t)(((rtDW.LO_HI_MODE_RR == 1) && (rtDW.CCU_MODE_RR == 1)) << 1) + (uint32_t)((rtDW.CCU_MODE_RL == 1) && (rtDW.LO_HI_MODE_RL == 1)))) { case 1: /* Assignment: '/valves[1,2,5]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_Gain1_o3[0] = 100U; rtb_Gain1_o3[1] = 100U; rtb_Gain1_o3[4] = 0U; break; case 2: /* Assignment: '/valves[1, 2, 3, 4,6]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ for (i = 0; i < 5; i++) { rtb_Gain1_o3[tmp_4[i]] = rtConstP.pooled105[i]; } /* End of Assignment: '/valves[1, 2, 3, 4,6]' */ break; case 3: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Assignment: '/valves all' * Constant: '/Constant' */ for (i = 0; i < 6; i++) { rtb_Gain1_o3[i] = rtConstP.pooled103[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read2' */ switch (rtDW.LEVEL) { case 0: case 1: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/HI' * Constant: '/HI1' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)((uint32_t)(((rtDW.LO_HI_MODE_RR == 2) && (rtDW.CCU_MODE_RR == 1)) << 1) + (uint32_t)((rtDW.CCU_MODE_RL == 1) && (rtDW.LO_HI_MODE_RL == 2)))) { case 1: /* Assignment: '/valves[1,2,5]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_Gain1_o3[0] = 70U; rtb_Gain1_o3[1] = 40U; rtb_Gain1_o3[4] = 100U; break; case 2: break; case 3: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Assignment: '/valves all' * Constant: '/Constant' */ for (i = 0; i < 6; i++) { rtb_Gain1_o3[i] = rtConstP.pooled100[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; case 2: case 3: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/HI' * Constant: '/HI1' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)((uint32_t)(((rtDW.LO_HI_MODE_RR == 2) && (rtDW.CCU_MODE_RR == 1)) << 1) + (uint32_t)((rtDW.CCU_MODE_RL == 1) && (rtDW.LO_HI_MODE_RL == 2)))) { case 1: /* Assignment: '/valves[1,2,5]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_Gain1_o3[0] = 70U; rtb_Gain1_o3[1] = 40U; rtb_Gain1_o3[4] = 100U; break; case 2: break; case 3: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Assignment: '/valves all' * Constant: '/Constant' */ for (i = 0; i < 6; i++) { rtb_Gain1_o3[i] = rtConstP.pooled100[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; default: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/HI' * Constant: '/HI1' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)((uint32_t)(((rtDW.LO_HI_MODE_RR == 2) && (rtDW.CCU_MODE_RR == 1)) << 1) + (uint32_t)((rtDW.CCU_MODE_RL == 1) && (rtDW.LO_HI_MODE_RL == 2)))) { case 1: /* Assignment: '/valves[1,2,5]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_Gain1_o3[0] = 70U; rtb_Gain1_o3[1] = 40U; rtb_Gain1_o3[4] = 100U; break; case 2: break; case 3: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Assignment: '/valves all' * Constant: '/Constant' */ for (i = 0; i < 6; i++) { rtb_Gain1_o3[i] = rtConstP.pooled100[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* Switch: '/Switch' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read4' */ if (rtDW.CCU_MODE_RL <= 0) { rtDW.Index_mode_RL_auto = rtDW.Index_mode_RL_manual; } /* MATLAB Function: '/param index for mode' incorporates: * Switch: '/Switch' */ paramindexformode_h(rtDW.Index_mode_RL_auto, &rtb_Add_p4); /* MATLAB Function: '/RL valves * percent DRS' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read2' * DataStoreWrite: '/Data Store Write24' * MultiPortSwitch: '/Multiport Switch' */ /* : index_start = (param_index - 1) * 3 + 1; */ index_start = (rtb_Add_p4 - 1.0) * 3.0 + 1.0; /* : if DRS_RLS == 0 */ if (rtDW.DRS_SRL == 0) { /* : side_percent = uint8(0); */ rtb_DataTypeConversion1_nc = 0U; } else { /* : else */ /* : side_percent = g_aucREAR_SIDE_DRS_PERCENT_VALVE(index_start + 3 - DRS_RLS); */ rtb_I_od = rt_roundd((index_start + 3.0) - (double)rtDW.DRS_SRL); if (rtb_I_od < 256.0) { if (rtb_I_od >= 0.0) { rtb_DataTypeConversion3_gz = (uint8_t)rtb_I_od; } else { rtb_DataTypeConversion3_gz = 0U; } } else { rtb_DataTypeConversion3_gz = UINT8_MAX; } rtb_DataTypeConversion1_nc = g_aucREAR_SIDE_DRS_PERCENT_VALVE[rtb_DataTypeConversion3_gz - 1]; } /* : if DRS_RLC == 0 */ if (rtDW.DRS_CRL == 0) { /* : center_percent = uint8(0); */ rtb_DataTypeConversion3_gz = 0U; } else { /* : else */ /* : center_percent = g_aucREAR_CENT_DRS_PERCENT_VALVE(index_start + 3 - DRS_RLC); */ rtb_I_od = rt_roundd((index_start + 3.0) - (double)rtDW.DRS_CRL); if (rtb_I_od < 256.0) { if (rtb_I_od >= 0.0) { rtb_DataTypeConversion3_gz = (uint8_t)rtb_I_od; } else { rtb_DataTypeConversion3_gz = 0U; } } else { rtb_DataTypeConversion3_gz = UINT8_MAX; } rtb_DataTypeConversion3_gz = g_aucREAR_CENT_DRS_PERCENT_VALVE[rtb_DataTypeConversion3_gz - 1]; } /* : y = valves; */ /* : y(1) = uint8(double(valves(1)) * (double(side_percent) / 100)); */ rtb_Gain2 = (int32_t)rt_roundd((double)rtb_DataTypeConversion1_nc / 100.0 * (double)rtb_Gain1_o3[0]); if (rtb_Gain2 < 256) { rtb_Gain1_o3[0] = (uint16_t)rtb_Gain2; } else { rtb_Gain1_o3[0] = 255U; } /* : y(2) = uint8(double(valves(2)) * (double(center_percent) / 100)); */ rtb_Gain2 = (int32_t)rt_roundd((double)rtb_DataTypeConversion3_gz / 100.0 * (double)rtb_Gain1_o3[1]); if (rtb_Gain2 < 256) { rtb_Gain1_o3[1] = (uint16_t)rtb_Gain2; } else { rtb_Gain1_o3[1] = 255U; } /* End of MATLAB Function: '/RL valves * percent DRS' */ /* Outputs for Enabled SubSystem: '/Rear valves right - manual directions' incorporates: * EnablePort: '/Enable' */ /* RelationalOperator: '/Equal3' incorporates: * Constant: '/Constant3' * DataStoreRead: '/Data Store Read45' */ if (rtDW.CCU_MODE_RR == 0) { /* RelationalOperator: '/Relational Operator2' incorporates: * Constant: '/Constant2' * DataStoreRead: '/Data Store Read22' */ rtb_LogicalOperator_fc = (rtDW.CCU_FOOT_RR == 1); /* Sum: '/Add' incorporates: * Constant: '/Constant1' * DataStoreRead: '/Data Store Read21' * DataTypeConversion: '/Data Type Conversion5' * Gain: '/Gain2' * RelationalOperator: '/Relational Operator1' */ rtb_out_l4w = (uint16_t)((uint32_t)(rtDW.CCU_FACE_RR == 1) + (uint32_t) (rtb_LogicalOperator_fc << 1)); /* MultiPortSwitch: '/Multiport Switch1' incorporates: * Constant: '/Constant4' * Constant: '/Constant5' * Constant: '/Constant6' * Constant: '/Constant7' * DataStoreWrite: '/Data Store Write' */ switch (rtb_out_l4w) { case 0: rtDW.Index_mode_RR_manual = 0U; break; case 1: rtDW.Index_mode_RR_manual = 120U; break; case 2: rtDW.Index_mode_RR_manual = 140U; break; default: rtDW.Index_mode_RR_manual = 130U; break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* MATLAB Function: '/AF for Bi Level' */ AFforBiLevel_i(rtB.MultiportSwitch); /* MATLAB Function: '/valves for Vent mode' */ /* : out = g_ausFLOW_RE_FO2VALVE; */ valvesforVentmode(rtb_TmpSignalConversionAt1DLookupTable7Inport1); /* MultiPortSwitch: '/Multiport Switch' */ switch (rtb_out_l4w) { case 0: /* MultiPortSwitch: '/Multiport Switch' */ for (i = 0; i < 6; i++) { rtB.MultiportSwitch[i] = 0U; } break; case 1: /* MultiPortSwitch: '/Multiport Switch' */ for (i = 0; i < 6; i++) { rtB.MultiportSwitch[i] = rtb_TmpSignalConversionAt1DLookupTable7Inport1[i]; } break; case 2: /* MultiPortSwitch: '/Multiport Switch' incorporates: * MATLAB Function: '/AF for Foot' */ for (i = 0; i < 6; i++) { rtB.MultiportSwitch[i] = g_ausFLOW_RE_FO2VALVE[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ } /* End of RelationalOperator: '/Equal3' */ /* End of Outputs for SubSystem: '/Rear valves right - manual directions' */ /* If: '/If1' incorporates: * DataStoreRead: '/Data Store Read7' * Sum: '/Subtract1' * UnitDelay: '/Unit Delay1' */ if ((int16_t)(rtDW.Duct_RR_Tg - rtDW.UnitDelay1_DSTATE) >= 0) { /* Outputs for IfAction SubSystem: '/duct_tg увеличивается RR' incorporates: * ActionPort: '/Action Port' */ /* SignalConversion generated from: '/y' incorporates: * MATLAB Function: '/increase' */ increase(rtDW.Duct_RR_Tg, rtb_get_mode, &rtb_out_l4w); /* End of Outputs for SubSystem: '/duct_tg увеличивается RR' */ } else { /* Outputs for IfAction SubSystem: '/duct_tg уменьшается RR' incorporates: * ActionPort: '/Action Port' */ /* SignalConversion generated from: '/y' incorporates: * MATLAB Function: '/decrease' */ decrease(rtDW.Duct_RR_Tg, rtb_get_mode, &rtb_out_l4w); /* End of Outputs for SubSystem: '/duct_tg уменьшается RR' */ } /* End of If: '/If1' */ /* MATLAB Function: '/valves_rear_right' */ valves_rear_left_e(rtb_out_l4w, rtb_TmpSignalConversionAt1DLookupTable7Inport1); /* If: '/If1' incorporates: * Constant: '/Constant' * Constant: '/Constant' * Constant: '/Constant' * Constant: '/Constant' * Constant: '/manual3' * DataStoreRead: '/Data Store Read' * DataStoreRead: '/mode from Start Control' * DataStoreRead: '/Data Store Read11' * Logic: '/Logical Operator' * RelationalOperator: '/Compare' * RelationalOperator: '/Compare' * RelationalOperator: '/Compare' * RelationalOperator: '/Compare' * RelationalOperator: '/Equal4' * Switch: '/Switch3' */ if (((rtDW.step_start_controle_rear == 0) || (rtDW.step_start_controle_rear == 1) || (rtDW.step_start_controle_rear == 2)) && (rtDW.Mode_RR > 0)) { /* Outputs for IfAction SubSystem: '/If Action Subsystem' incorporates: * ActionPort: '/Action Port' */ /* SignalConversion generated from: '/get_valves' incorporates: * DataStoreRead: '/mode from Start Control' * MATLAB Function: '/valves_rear_right' * Merge: '/Merge' */ valves_rear_left(rtDW.Mode_RR, rtb_TmpSignalConversionAt1DLookupTable7Inport1); /* End of Outputs for SubSystem: '/If Action Subsystem' */ } else if (rtDW.CCU_MODE_RR == 0) { /* Outputs for IfAction SubSystem: '/If Action Subsystem1' incorporates: * ActionPort: '/Action Port' */ /* SignalConversion generated from: '/In1' */ for (rtb_Gain2 = 0; rtb_Gain2 < 6; rtb_Gain2++) { /* Switch: '/Switch3' incorporates: * Merge: '/Merge' * MultiPortSwitch: '/Multiport Switch' */ rtb_TmpSignalConversionAt1DLookupTable7Inport1[rtb_Gain2] = rtB.MultiportSwitch[rtb_Gain2]; } /* End of SignalConversion generated from: '/In1' */ /* End of Outputs for SubSystem: '/If Action Subsystem1' */ } /* End of If: '/If1' */ /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read2' */ switch (rtDW.LEVEL) { case 0: case 1: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/LOW1' * Constant: '/LOW2' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)((uint32_t)(((rtDW.LO_HI_MODE_RR == 1) && (rtDW.CCU_MODE_RR == 1)) << 1) + (uint32_t)((rtDW.CCU_MODE_RL == 1) && (rtDW.LO_HI_MODE_RL == 1)))) { case 1: break; case 2: /* Assignment: '/valves[3,4,6]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_TmpSignalConversionAt1DLookupTable7Inport1[2] = 100U; rtb_TmpSignalConversionAt1DLookupTable7Inport1[3] = 100U; rtb_TmpSignalConversionAt1DLookupTable7Inport1[5] = 0U; break; case 3: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Assignment: '/valves all' * Constant: '/Constant' */ for (i = 0; i < 6; i++) { rtb_TmpSignalConversionAt1DLookupTable7Inport1[i] = rtConstP.pooled103[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; case 2: case 3: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/LOW1' * Constant: '/LOW2' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)((uint32_t)(((rtDW.LO_HI_MODE_RR == 1) && (rtDW.CCU_MODE_RR == 1)) << 1) + (uint32_t)((rtDW.CCU_MODE_RL == 1) && (rtDW.LO_HI_MODE_RL == 1)))) { case 1: break; case 2: /* Assignment: '/valves[3,4,6]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_TmpSignalConversionAt1DLookupTable7Inport1[2] = 100U; rtb_TmpSignalConversionAt1DLookupTable7Inport1[3] = 100U; rtb_TmpSignalConversionAt1DLookupTable7Inport1[5] = 0U; break; case 3: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Assignment: '/valves all' * Constant: '/Constant' */ for (i = 0; i < 6; i++) { rtb_TmpSignalConversionAt1DLookupTable7Inport1[i] = rtConstP.pooled103[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; default: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/LOW1' * Constant: '/LOW2' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)((uint32_t)(((rtDW.LO_HI_MODE_RR == 1) && (rtDW.CCU_MODE_RR == 1)) << 1) + (uint32_t)((rtDW.CCU_MODE_RL == 1) && (rtDW.LO_HI_MODE_RL == 1)))) { case 1: break; case 2: /* Assignment: '/valves[1, 2, 3, 4,6]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ for (i = 0; i < 5; i++) { rtb_TmpSignalConversionAt1DLookupTable7Inport1[tmp_4[i]] = rtConstP.pooled105[i]; } /* End of Assignment: '/valves[1, 2, 3, 4,6]' */ break; case 3: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Assignment: '/valves all' * Constant: '/Constant' */ for (i = 0; i < 6; i++) { rtb_TmpSignalConversionAt1DLookupTable7Inport1[i] = rtConstP.pooled103[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read2' */ switch (rtDW.LEVEL) { case 0: case 1: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/HI' * Constant: '/HI1' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)((uint32_t)(((rtDW.LO_HI_MODE_RR == 2) && (rtDW.CCU_MODE_RR == 1)) << 1) + (uint32_t)((rtDW.CCU_MODE_RL == 1) && (rtDW.LO_HI_MODE_RL == 2)))) { case 1: break; case 2: /* Assignment: '/valves[3,4,6]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_TmpSignalConversionAt1DLookupTable7Inport1[2] = 40U; rtb_TmpSignalConversionAt1DLookupTable7Inport1[3] = 70U; rtb_TmpSignalConversionAt1DLookupTable7Inport1[5] = 100U; break; case 3: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Assignment: '/valves all' * Constant: '/Constant' */ for (i = 0; i < 6; i++) { rtb_TmpSignalConversionAt1DLookupTable7Inport1[i] = rtConstP.pooled100[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; case 2: case 3: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/HI' * Constant: '/HI1' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)((uint32_t)(((rtDW.LO_HI_MODE_RR == 2) && (rtDW.CCU_MODE_RR == 1)) << 1) + (uint32_t)((rtDW.CCU_MODE_RL == 1) && (rtDW.LO_HI_MODE_RL == 2)))) { case 1: break; case 2: /* Assignment: '/valves[3,4,6]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_TmpSignalConversionAt1DLookupTable7Inport1[2] = 40U; rtb_TmpSignalConversionAt1DLookupTable7Inport1[3] = 70U; rtb_TmpSignalConversionAt1DLookupTable7Inport1[5] = 100U; break; case 3: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Assignment: '/valves all' * Constant: '/Constant' */ for (i = 0; i < 6; i++) { rtb_TmpSignalConversionAt1DLookupTable7Inport1[i] = rtConstP.pooled100[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; default: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/HI' * Constant: '/HI1' * Constant: '/auto' * Constant: '/auto' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read46' * DataStoreRead: '/Data Store Read46' * Gain: '/Gain1' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Equal1' * RelationalOperator: '/Equal1' * Sum: '/Add' */ switch ((int32_t)((uint32_t)(((rtDW.LO_HI_MODE_RR == 2) && (rtDW.CCU_MODE_RR == 1)) << 1) + (uint32_t)((rtDW.CCU_MODE_RL == 1) && (rtDW.LO_HI_MODE_RL == 2)))) { case 1: break; case 2: /* Assignment: '/valves[3,4,6]' incorporates: * Constant: '/Constant' * MultiPortSwitch: '/Multiport Switch' */ rtb_TmpSignalConversionAt1DLookupTable7Inport1[2] = 40U; rtb_TmpSignalConversionAt1DLookupTable7Inport1[3] = 70U; rtb_TmpSignalConversionAt1DLookupTable7Inport1[5] = 100U; break; case 3: /* MultiPortSwitch: '/Multiport Switch' incorporates: * Assignment: '/valves all' * Constant: '/Constant' */ for (i = 0; i < 6; i++) { rtb_TmpSignalConversionAt1DLookupTable7Inport1[i] = rtConstP.pooled100[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* Switch: '/Switch' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read4' */ /* : switch index_mode */ if (rtDW.CCU_MODE_RR <= 0) { rtDW.Index_mode_RR_auto = rtDW.Index_mode_RR_manual; } /* MATLAB Function: '/param index for mode' incorporates: * Switch: '/Switch' */ switch (rtDW.Index_mode_RR_auto) { case 0U: /* : case 0 */ /* : Y = 1; */ rtb_Gain2 = 1; break; case 120U: /* : case 120 */ /* : Y = 1; */ rtb_Gain2 = 1; break; case 130U: /* : case 130 */ /* : Y = 2; */ rtb_Gain2 = 2; break; case 140U: /* : case 140 */ /* : Y = 2; */ rtb_Gain2 = 2; break; case 150U: /* : case 150 */ /* : Y = 1; */ rtb_Gain2 = 1; break; case 160U: /* : case 160 */ /* : Y = 3; */ rtb_Gain2 = 3; break; case 170U: /* : case 170 */ /* : Y = 1; */ rtb_Gain2 = 1; break; case 180U: /* : case 180 */ /* : Y = 3; */ rtb_Gain2 = 3; break; case 190U: /* : case 190 */ /* : Y = 1; */ rtb_Gain2 = 1; break; case 200U: /* : case 200 */ /* : Y = 2; */ rtb_Gain2 = 2; break; default: /* : otherwise */ /* : Y = 1; */ rtb_Gain2 = 1; break; } /* End of MATLAB Function: '/param index for mode' */ /* MATLAB Function: '/RR valves * percent DRS' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read2' * MultiPortSwitch: '/Multiport Switch' */ /* : index_start = (param_index - 1) * 3 + 1; */ index_start_0 = (rtb_Gain2 - 1) * 3 + 1; /* : disp("index_start (rear):") */ printf("%s\n", "index_start (rear):"); fflush(stdout); /* : disp(index_start) */ /* : if DRS_RRS == 0 */ if (rtDW.DRS_SRR == 0) { /* : side_percent = uint8(0); */ rtb_DataTypeConversion1_nc = 0U; } else { /* : else */ /* : side_percent = g_aucREAR_SIDE_DRS_PERCENT_VALVE(index_start + 3 - DRS_RRS); */ rtb_Gain2 = (index_start_0 - rtDW.DRS_SRR) + 3; if (rtb_Gain2 >= 0) { rtb_DataTypeConversion3_gz = (uint8_t)rtb_Gain2; } else { rtb_DataTypeConversion3_gz = 0U; } rtb_DataTypeConversion1_nc = g_aucREAR_SIDE_DRS_PERCENT_VALVE[rtb_DataTypeConversion3_gz - 1]; } /* : if DRS_RRC == 0 */ if (rtDW.DRS_CRR == 0) { /* : center_percent = uint8(0); */ rtb_DataTypeConversion3_gz = 0U; } else { /* : else */ /* : center_percent = g_aucREAR_CENT_DRS_PERCENT_VALVE(index_start + 3 - DRS_RRC); */ rtb_Gain2 = (index_start_0 - rtDW.DRS_CRR) + 3; if (rtb_Gain2 >= 0) { rtb_DataTypeConversion3_gz = (uint8_t)rtb_Gain2; } else { rtb_DataTypeConversion3_gz = 0U; } rtb_DataTypeConversion3_gz = g_aucREAR_CENT_DRS_PERCENT_VALVE[rtb_DataTypeConversion3_gz - 1]; } /* : disp("side_percent (rear):") */ printf("%s\n", "side_percent (rear):"); fflush(stdout); /* : disp(side_percent) */ /* : disp("center_percent (rear):") */ printf("%s\n", "center_percent (rear):"); fflush(stdout); /* : disp(center_percent) */ /* : y = valves; */ /* : y(3) = uint8(double(valves(3)) * (double(center_percent) / 100)); */ rtb_Gain2 = (int32_t)rt_roundd((double)rtb_DataTypeConversion3_gz / 100.0 * (double)rtb_TmpSignalConversionAt1DLookupTable7Inport1[2]); /* : y(4) = uint8(double(valves(4)) * (double(side_percent) / 100)); */ index_start_0 = (int32_t)rt_roundd((double)rtb_DataTypeConversion1_nc / 100.0 * (double)rtb_TmpSignalConversionAt1DLookupTable7Inport1[3]); if (rtb_Gain2 < 256) { /* Assignment: '/Присваивание в [3-4] rear' incorporates: * DataStoreWrite: '/Data Store Write24' */ rtb_Gain1_o3[2] = (uint16_t)rtb_Gain2; } else { /* Assignment: '/Присваивание в [3-4] rear' incorporates: * DataStoreWrite: '/Data Store Write24' */ rtb_Gain1_o3[2] = 255U; } if (index_start_0 < 256) { /* Assignment: '/Присваивание в [3-4] rear' incorporates: * DataStoreWrite: '/Data Store Write24' */ rtb_Gain1_o3[3] = (uint16_t)index_start_0; } else { /* Assignment: '/Присваивание в [3-4] rear' incorporates: * DataStoreWrite: '/Data Store Write24' */ rtb_Gain1_o3[3] = 255U; } /* Assignment: '/Присваивание в [6] rear' incorporates: * DataStoreWrite: '/Data Store Write24' * MATLAB Function: '/RR valves * percent DRS' * MultiPortSwitch: '/Multiport Switch' */ rtb_Gain1_o3[5] = rtb_TmpSignalConversionAt1DLookupTable7Inport1[5]; /* DataStoreWrite: '/Data Store Write' */ rtDW.Index_mode_FL_auto = rtb_DataTypeConversion2_au; /* DataStoreWrite: '/Data Store Write1' */ rtDW.Index_mode_FR_auto = rtb_DataTypeConversion3_it; /* Switch: '/Switch' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.Index_mode_RL_auto = rtb_out_kez; /* Switch: '/Switch' incorporates: * DataStoreWrite: '/Data Store Write2' */ rtDW.Index_mode_RR_auto = rtb_out_l4w; /* MultiPortSwitch: '/Multiport Switch1' */ switch (rtb_Saturation2_a) { case 0: /* Switch: '/Switch' incorporates: * Constant: '/Constant4' * DataStoreWrite: '/Data Store Write' */ rtDW.Index_mode_FR_manual = 0U; break; case 1: /* Switch: '/Switch' incorporates: * Constant: '/Constant5' * DataStoreWrite: '/Data Store Write' */ rtDW.Index_mode_FR_manual = 80U; break; case 2: /* Switch: '/Switch' incorporates: * Constant: '/Constant6' * DataStoreWrite: '/Data Store Write' */ rtDW.Index_mode_FR_manual = 10U; break; case 3: /* Switch: '/Switch' incorporates: * Constant: '/Constant7' * DataStoreWrite: '/Data Store Write' */ rtDW.Index_mode_FR_manual = 100U; break; case 4: /* Switch: '/Switch' incorporates: * Constant: '/Constant8' * DataStoreWrite: '/Data Store Write' */ rtDW.Index_mode_FR_manual = 60U; break; case 5: /* Switch: '/Switch' incorporates: * Constant: '/Constant9' * DataStoreWrite: '/Data Store Write' */ rtDW.Index_mode_FR_manual = 70U; break; case 6: /* Switch: '/Switch' incorporates: * Constant: '/Constant10' * DataStoreWrite: '/Data Store Write' */ rtDW.Index_mode_FR_manual = 20U; break; default: /* Switch: '/Switch' incorporates: * Constant: '/Constant11' * DataStoreWrite: '/Data Store Write' */ rtDW.Index_mode_FR_manual = 90U; break; } /* End of MultiPortSwitch: '/Multiport Switch1' */ /* DataStoreWrite: '/Data Store Write31' */ rtDW.enable_rear_sync = 0U; /* Saturate: '/Saturation' incorporates: * DataStoreRead: '/Data Store Read' */ if (rtDW.AMB > 1000) { rtb_DataTypeConversion_dl = 1000; } else if (rtDW.AMB < -1000) { rtb_DataTypeConversion_dl = -1000; } else { rtb_DataTypeConversion_dl = rtDW.AMB; } /* End of Saturate: '/Saturation' */ /* MATLAB Function: '/Convert_g_assAMB_LV_UP' */ /* : c_g_assAMB_LV_UP = [-1000, g_assAMB_LV_UP(5), g_assAMB_LV_UP(4), g_assAMB_LV_UP(3), g_assAMB_LV_UP(2), g_assAMB_LV_UP(1)]; */ tmp_1[0] = -1000; tmp_1[1] = g_assAMB_LV_UP[4]; tmp_1[2] = g_assAMB_LV_UP[3]; tmp_1[3] = g_assAMB_LV_UP[2]; tmp_1[4] = g_assAMB_LV_UP[1]; tmp_1[5] = g_assAMB_LV_UP[0]; /* SwitchCase: '/Switch Case' incorporates: * Lookup_n-D: '/1-D Lookup Table' * Saturate: '/Saturation' */ switch ((int8_t)rtConstP.pooled60[plook_u32s16_bincka (rtb_DataTypeConversion_dl, tmp_1, 5U)]) { case 0: /* Outputs for IfAction SubSystem: '/Switch Case Action Subsystem' incorporates: * ActionPort: '/Action Port' */ /* Merge: '/Merge' incorporates: * Constant: '/Constant' * RelationalOperator: '/Relational Operator' * Switch: '/Switch' */ rtB.Merge_b = (uint8_t)(rtb_DataTypeConversion_dl <= g_assAMB_LV_UP[0]); /* End of Outputs for SubSystem: '/Switch Case Action Subsystem' */ break; case 1: /* Outputs for IfAction SubSystem: '/Switch Case Action Subsystem1' incorporates: * ActionPort: '/Action Port' */ /* Switch: '/Switch' incorporates: * MATLAB Function: '/Convert_g_assAMB_LV_UP_2' * RelationalOperator: '/Relational Operator' */ /* : c_g_assAMB_LV_DN_1 = g_assAMB_LV_DN(1); */ /* : c_g_assAMB_LV_UP_2 = g_assAMB_LV_UP(2); */ if (rtb_DataTypeConversion_dl > g_assAMB_LV_UP[1]) { /* Merge: '/Merge' incorporates: * MATLAB Function: '/Convert_g_assAMB_LV_DN_1' * RelationalOperator: '/Relational Operator1' */ rtB.Merge_b = (uint8_t)(rtb_DataTypeConversion_dl <= g_assAMB_LV_DN[0]); } else { /* Merge: '/Merge' incorporates: * Constant: '/Constant_Lv2' */ rtB.Merge_b = 2U; } /* End of Switch: '/Switch' */ /* End of Outputs for SubSystem: '/Switch Case Action Subsystem1' */ break; case 2: /* Outputs for IfAction SubSystem: '/Switch Case Action Subsystem2' incorporates: * ActionPort: '/Action Port' */ /* Switch: '/Switch2' incorporates: * MATLAB Function: '/Convert_g_assAMB_LV_UP_3' * RelationalOperator: '/Relational Operator' */ /* : c_g_assAMB_LV_DN_2 = g_assAMB_LV_DN(2); */ /* : c_g_assAMB_LV_UP_3 = g_assAMB_LV_UP(3); */ if (rtb_DataTypeConversion_dl > g_assAMB_LV_UP[2]) { /* Switch: '/Switch3' incorporates: * MATLAB Function: '/Convert_g_assAMB_LV_DN_2' * RelationalOperator: '/Relational Operator1' */ if (rtb_DataTypeConversion_dl > g_assAMB_LV_DN[1]) { /* Merge: '/Merge' incorporates: * Constant: '/Constant_Lv1' */ rtB.Merge_b = 1U; } else { /* Merge: '/Merge' incorporates: * Constant: '/Constant_Lv2' */ rtB.Merge_b = 2U; } /* End of Switch: '/Switch3' */ } else { /* Merge: '/Merge' incorporates: * Constant: '/Constant_Lv3' */ rtB.Merge_b = 3U; } /* End of Switch: '/Switch2' */ /* End of Outputs for SubSystem: '/Switch Case Action Subsystem2' */ break; case 3: /* Outputs for IfAction SubSystem: '/Switch Case Action Subsystem3' incorporates: * ActionPort: '/Action Port' */ /* Switch: '/Switch2' incorporates: * MATLAB Function: '/Convert_g_assAMB_LV_UP_4' * RelationalOperator: '/Relational Operator' */ /* : c_g_assAMB_LV_DN_3 = g_assAMB_LV_DN(3); */ /* : c_g_assAMB_LV_UP_4 = g_assAMB_LV_UP(4); */ if (rtb_DataTypeConversion_dl > g_assAMB_LV_UP[3]) { /* Switch: '/Switch3' incorporates: * MATLAB Function: '/Convert_g_assAMB_LV_DN_3' * RelationalOperator: '/Relational Operator1' */ if (rtb_DataTypeConversion_dl > g_assAMB_LV_DN[2]) { /* Merge: '/Merge' incorporates: * Constant: '/Constant_Lv2' */ rtB.Merge_b = 2U; } else { /* Merge: '/Merge' incorporates: * Constant: '/Constant_Lv3' */ rtB.Merge_b = 3U; } /* End of Switch: '/Switch3' */ } else { /* Merge: '/Merge' incorporates: * Constant: '/Constant_Lv4' */ rtB.Merge_b = 4U; } /* End of Switch: '/Switch2' */ /* End of Outputs for SubSystem: '/Switch Case Action Subsystem3' */ break; case 4: /* Outputs for IfAction SubSystem: '/Switch Case Action Subsystem4' incorporates: * ActionPort: '/Action Port' */ /* Switch: '/Switch2' incorporates: * MATLAB Function: '/Convert_g_assAMB_LV_UP_5' * RelationalOperator: '/Relational Operator' */ /* : c_g_assAMB_LV_DN_4 = g_assAMB_LV_DN(4); */ /* : c_g_assAMB_LV_UP_5 = g_assAMB_LV_UP(5); */ if (rtb_DataTypeConversion_dl > g_assAMB_LV_UP[4]) { /* Switch: '/Switch3' incorporates: * MATLAB Function: '/Convert_g_assAMB_LV_DN_4' * RelationalOperator: '/Relational Operator1' */ if (rtb_DataTypeConversion_dl > g_assAMB_LV_DN[3]) { /* Merge: '/Merge' incorporates: * Constant: '/Constant_Lv3' */ rtB.Merge_b = 3U; } else { /* Merge: '/Merge' incorporates: * Constant: '/Constant_Lv4' */ rtB.Merge_b = 4U; } /* End of Switch: '/Switch3' */ } else { /* Merge: '/Merge' incorporates: * Constant: '/Constant_Lv5' */ rtB.Merge_b = 5U; } /* End of Switch: '/Switch2' */ /* End of Outputs for SubSystem: '/Switch Case Action Subsystem4' */ break; case 5: /* Outputs for IfAction SubSystem: '/Switch Case Action Subsystem5' incorporates: * ActionPort: '/Action Port' */ /* Switch: '/Switch1' incorporates: * MATLAB Function: '/Convert_g_assAMB_LV_DN_5' * RelationalOperator: '/Relational Operator' */ /* : c_g_assAMB_LV_DN_5 = g_assAMB_LV_DN(5); */ if (rtb_DataTypeConversion_dl > g_assAMB_LV_DN[4]) { /* Merge: '/Merge' incorporates: * Constant: '/Constant_Lv4' */ rtB.Merge_b = 4U; } else { /* Merge: '/Merge' incorporates: * Constant: '/Constant_Lv5' */ rtB.Merge_b = 5U; } /* End of Switch: '/Switch1' */ /* End of Outputs for SubSystem: '/Switch Case Action Subsystem5' */ break; } /* End of SwitchCase: '/Switch Case' */ /* Saturate: '/Saturation' incorporates: * DataStoreRead: '/Data Store Read1' */ if (rtDW.CCU_SET_FL > 290) { rtb_Gain2 = 290; } else if (rtDW.CCU_SET_FL < 170) { rtb_Gain2 = 170; } else { rtb_Gain2 = rtDW.CCU_SET_FL; } /* Gain: '/Gain' incorporates: * Saturate: '/Saturation' */ rtb_Gain2 *= 13107; rtb_DataTypeConversion1_nc = (uint8_t)((((uint32_t)rtb_Gain2 & 65536U) != 0U) + (rtb_Gain2 >> 17)); /* MATLAB Function: '/Modes for levels' */ /* : get_modes_for_levels = [g_aucMODE_BY_SET_F_LV0; */ /* : g_aucMODE_BY_SET_F_LV1; */ /* : g_aucMODE_BY_SET_F_LV2; */ /* : g_aucMODE_BY_SET_F_LV3; */ /* : g_aucMODE_BY_SET_F_LV4; */ /* : g_aucMODE_BY_SET_F_LV5; */ /* : ]; */ for (rtb_Gain2 = 0; rtb_Gain2 < 13; rtb_Gain2++) { rtb_get_modes_for_levels[6 * rtb_Gain2] = g_aucMODE_BY_SET_F_LV0[rtb_Gain2]; rtb_get_modes_for_levels[6 * rtb_Gain2 + 1] = g_aucMODE_BY_SET_F_LV1[rtb_Gain2]; rtb_get_modes_for_levels[6 * rtb_Gain2 + 2] = g_aucMODE_BY_SET_F_LV2[rtb_Gain2]; rtb_get_modes_for_levels[6 * rtb_Gain2 + 3] = g_aucMODE_BY_SET_F_LV3[rtb_Gain2]; rtb_get_modes_for_levels[6 * rtb_Gain2 + 4] = g_aucMODE_BY_SET_F_LV4[rtb_Gain2]; rtb_get_modes_for_levels[6 * rtb_Gain2 + 5] = g_aucMODE_BY_SET_F_LV5[rtb_Gain2]; } /* End of MATLAB Function: '/Modes for levels' */ /* Lookup_n-D: '/Выбор режима Left' incorporates: * Gain: '/Gain' * Merge: '/Merge' */ rtb_DataTypeConversion2_au = look2_iu8bu8s16lu64n32_binlcse(rtB.Merge_b, rtb_DataTypeConversion1_nc, rtConstP.pooled149, rtConstP.pooled69, rtb_get_modes_for_levels, rtConstP.pooled51, 6U); /* MATLAB Function: '/Начальные положения заслонок left' */ left(rtb_DataTypeConversion2_au, rtb_out_jgn); /* Saturate: '/Saturation1' incorporates: * DataStoreRead: '/Data Store Read2' */ if (rtDW.CCU_SET_FR > 290) { /* DataStoreWrite: '/Data Store Write1' */ rtb_MultiportSwitch_cq = 290; } else if (rtDW.CCU_SET_FR < 170) { /* DataStoreWrite: '/Data Store Write1' */ rtb_MultiportSwitch_cq = 170; } else { /* DataStoreWrite: '/Data Store Write1' */ rtb_MultiportSwitch_cq = (int16_t)rtDW.CCU_SET_FR; } if (rtDW.CCU_SET_FR > 290) { rtb_Gain2 = 290; } else if (rtDW.CCU_SET_FR < 170) { rtb_Gain2 = 170; } else { rtb_Gain2 = rtDW.CCU_SET_FR; } /* Gain: '/Gain2' incorporates: * Saturate: '/Saturation1' */ rtb_Gain2 = 13107 * (int16_t)rtb_Gain2; rtb_DataTypeConversion3_gz = (uint8_t)((((uint32_t)rtb_Gain2 & 65536U) != 0U) + (rtb_Gain2 >> 17)); /* SwitchCase: '/Switch for Left ' incorporates: * DataStoreRead: '/Data Store Read' */ switch (rtb_DataTypeConversion2_au) { case 10: break; case 20: for (i = 0; i < 9; i++) { /* Outputs for IfAction SubSystem: '/Bilevel' incorporates: * ActionPort: '/Action Port' */ rtb_out_kfv[i] = rtb_out_jgn[i]; /* End of Outputs for SubSystem: '/Bilevel' */ } /* Outputs for IfAction SubSystem: '/Bilevel' incorporates: * ActionPort: '/Action Port' */ Bilevel(rtDW.AMB, rtB.Merge_b, rtb_out_kfv, rtb_DataTypeConversion1_nc, rtb_DataTypeConversion3_gz); /* End of Outputs for SubSystem: '/Bilevel' */ break; case 30: for (i = 0; i < 9; i++) { /* Outputs for IfAction SubSystem: '/Bilevel2' incorporates: * ActionPort: '/Action Port' */ rtb_out_kfv[i] = rtb_out_jgn[i]; /* End of Outputs for SubSystem: '/Bilevel2' */ } /* Outputs for IfAction SubSystem: '/Bilevel2' incorporates: * ActionPort: '/Action Port' */ Bilevel2(rtDW.AMB, rtB.Merge_b, rtb_out_kfv, rtb_DataTypeConversion1_nc, rtb_DataTypeConversion3_gz); /* End of Outputs for SubSystem: '/Bilevel2' */ break; case 40: for (i = 0; i < 9; i++) { /* Outputs for IfAction SubSystem: '/Afoot' incorporates: * ActionPort: '/Action Port' */ rtb_out_kfv[i] = rtb_out_jgn[i]; /* End of Outputs for SubSystem: '/Afoot' */ } /* Outputs for IfAction SubSystem: '/Afoot' incorporates: * ActionPort: '/Action Port' */ Afoot(rtDW.AMB, rtB.Merge_b, rtb_out_kfv, rtb_DataTypeConversion1_nc, rtb_DataTypeConversion3_gz); /* End of Outputs for SubSystem: '/Afoot' */ break; case 50: for (i = 0; i < 9; i++) { /* Outputs for IfAction SubSystem: '/Afoot_Summer' incorporates: * ActionPort: '/Action Port' */ rtb_out_kfv[i] = rtb_out_jgn[i]; /* End of Outputs for SubSystem: '/Afoot_Summer' */ } /* Outputs for IfAction SubSystem: '/Afoot_Summer' incorporates: * ActionPort: '/Action Port' */ Afoot_Summer(rtDW.AMB, rtB.Merge_b, rtb_out_kfv, rtb_DataTypeConversion1_nc, rtb_DataTypeConversion3_gz); /* End of Outputs for SubSystem: '/Afoot_Summer' */ break; } /* End of SwitchCase: '/Switch for Left ' */ /* Lookup_n-D: '/Выбор режима Right' incorporates: * Gain: '/Gain2' * Merge: '/Merge' */ rtb_DataTypeConversion2_au = look2_iu8bu8s16lu64n32_binlcse(rtB.Merge_b, rtb_DataTypeConversion3_gz, rtConstP.pooled149, rtConstP.pooled69, rtb_get_modes_for_levels, rtConstP.pooled51, 6U); /* MATLAB Function: '/Начальные положения заслонок right' */ left(rtb_DataTypeConversion2_au, rtb_out_kfv); /* SwitchCase: '/Switch for Left ' incorporates: * DataStoreRead: '/Data Store Read' */ switch (rtb_DataTypeConversion2_au) { case 10: break; case 20: for (i = 0; i < 9; i++) { /* Outputs for IfAction SubSystem: '/Bilevel' incorporates: * ActionPort: '/Action Port' */ rtb_out_jgn[i] = rtb_out_kfv[i]; /* End of Outputs for SubSystem: '/Bilevel' */ } /* Outputs for IfAction SubSystem: '/Bilevel' incorporates: * ActionPort: '/Action Port' */ Bilevel(rtDW.AMB, rtB.Merge_b, rtb_out_jgn, rtb_DataTypeConversion1_nc, rtb_DataTypeConversion3_gz); /* End of Outputs for SubSystem: '/Bilevel' */ break; case 30: for (i = 0; i < 9; i++) { /* Outputs for IfAction SubSystem: '/Bilevel2' incorporates: * ActionPort: '/Action Port' */ rtb_out_jgn[i] = rtb_out_kfv[i]; /* End of Outputs for SubSystem: '/Bilevel2' */ } /* Outputs for IfAction SubSystem: '/Bilevel2' incorporates: * ActionPort: '/Action Port' */ Bilevel2(rtDW.AMB, rtB.Merge_b, rtb_out_jgn, rtb_DataTypeConversion1_nc, rtb_DataTypeConversion3_gz); /* End of Outputs for SubSystem: '/Bilevel2' */ break; case 40: for (i = 0; i < 9; i++) { /* Outputs for IfAction SubSystem: '/Afoot' incorporates: * ActionPort: '/Action Port' */ rtb_out_jgn[i] = rtb_out_kfv[i]; /* End of Outputs for SubSystem: '/Afoot' */ } /* Outputs for IfAction SubSystem: '/Afoot' incorporates: * ActionPort: '/Action Port' */ Afoot(rtDW.AMB, rtB.Merge_b, rtb_out_jgn, rtb_DataTypeConversion1_nc, rtb_DataTypeConversion3_gz); /* End of Outputs for SubSystem: '/Afoot' */ break; case 50: for (i = 0; i < 9; i++) { /* Outputs for IfAction SubSystem: '/Afoot_Summer' incorporates: * ActionPort: '/Action Port' */ rtb_out_jgn[i] = rtb_out_kfv[i]; /* End of Outputs for SubSystem: '/Afoot_Summer' */ } /* Outputs for IfAction SubSystem: '/Afoot_Summer' incorporates: * ActionPort: '/Action Port' */ Afoot_Summer(rtDW.AMB, rtB.Merge_b, rtb_out_jgn, rtb_DataTypeConversion1_nc, rtb_DataTypeConversion3_gz); /* End of Outputs for SubSystem: '/Afoot_Summer' */ break; } /* End of SwitchCase: '/Switch for Left ' */ /* DataStoreWrite: '/Data Store Write' */ rtDW.LEVEL = rtB.Merge_b; /* MATLAB Function: '/Log Ambient Lv' */ /* : if (isempty(current_Ambient_Lv)) */ if (!rtDW.current_Ambient_Lv_not_empty) { /* : current_Ambient_Lv = Ambient_Lv; */ rtDW.current_Ambient_Lv = rtB.Merge_b; rtDW.current_Ambient_Lv_not_empty = true; /* : fprintf("13.1.3.1 Ambient level: in_Amb_Fb = %d; Set Ambient lvl (init) = %u \n", in_Amb_Fb, Ambient_Lv); */ printf("13.1.3.1 Ambient level: in_Amb_Fb = %d; Set Ambient lvl (init) = %u \n", rtb_DataTypeConversion_dl, rtB.Merge_b); fflush(stdout); /* : else */ /* : if (current_Ambient_Lv ~= Ambient_Lv) */ } else if (rtDW.current_Ambient_Lv != rtB.Merge_b) { /* : current_Ambient_Lv = Ambient_Lv; */ rtDW.current_Ambient_Lv = rtB.Merge_b; /* : fprintf("13.1.3.1 Ambient level: in_Amb_Fb = %d; Set Ambient lvl = %u \n", in_Amb_Fb, Ambient_Lv); */ printf("13.1.3.1 Ambient level: in_Amb_Fb = %d; Set Ambient lvl = %u \n", rtb_DataTypeConversion_dl, rtB.Merge_b); fflush(stdout); } /* End of MATLAB Function: '/Log Ambient Lv' */ /* Chart: '/Spd_OSA_Trigger' */ if (rtDW.is_active_c834_HVAC_model == 0U) { rtDW.is_active_c834_HVAC_model = 1U; rtDW.is_c834_HVAC_model = IN_OSA_OFF; /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write' */ /* : is_OSA_Active = 0; */ rtDW.dbgCAN_Logic_Rec_model.Logic_Rec_Partial_Spd_Sts = 0U; /* Switch: '/Switch' incorporates: * Constant: '/Constant' */ rtb_DataTypeConversion3_gz = 100U; } else if (rtDW.is_c834_HVAC_model == IN_OSA_OFF) { /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write' */ rtDW.dbgCAN_Logic_Rec_model.Logic_Rec_Partial_Spd_Sts = 0U; /* : sf_internal_predicateOutput = VehicleSpeed > 20 && Full_Rec_Active == 0; */ if ((rtDW.VehicleSpeed > 20) && (rtDW.Full_Rec == 0)) { rtDW.is_c834_HVAC_model = IN_OSA_ON; /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write' */ /* : is_OSA_Active = 1; */ rtDW.dbgCAN_Logic_Rec_model.Logic_Rec_Partial_Spd_Sts = 1U; /* Switch: '/Switch' incorporates: * DataStoreRead: '/Data Store Read6' * Lookup_n-D: '/1-D Lookup Table2' */ rtb_DataTypeConversion3_gz = look1_iu16lu64n48tu8_binlcse (rtDW.VehicleSpeed, &g_ausVALVE_VEH_SPD[0], &g_aucPREC_VEH_SPD_OSA[0], 12U); } else { /* Switch: '/Switch' incorporates: * Constant: '/Constant' */ rtb_DataTypeConversion3_gz = 100U; } } else { /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write' */ /* case IN_OSA_ON: */ rtDW.dbgCAN_Logic_Rec_model.Logic_Rec_Partial_Spd_Sts = 1U; /* : sf_internal_predicateOutput = VehicleSpeed == 0 || Full_Rec_Active == 1; */ if ((rtDW.VehicleSpeed == 0) || (rtDW.Full_Rec == 1)) { rtDW.is_c834_HVAC_model = IN_OSA_OFF; /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write' */ /* : is_OSA_Active = 0; */ rtDW.dbgCAN_Logic_Rec_model.Logic_Rec_Partial_Spd_Sts = 0U; /* Switch: '/Switch' incorporates: * Constant: '/Constant' */ rtb_DataTypeConversion3_gz = 100U; } else { /* Switch: '/Switch' incorporates: * DataStoreRead: '/Data Store Read6' * Lookup_n-D: '/1-D Lookup Table2' */ rtb_DataTypeConversion3_gz = look1_iu16lu64n48tu8_binlcse (rtDW.VehicleSpeed, &g_ausVALVE_VEH_SPD[0], &g_aucPREC_VEH_SPD_OSA[0], 12U); } } /* End of Chart: '/Spd_OSA_Trigger' */ /* Chart: '/Partial REC' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read4' * Gain: '/Gain' * Lookup_n-D: '/1-D Lookup Table' * Lookup_n-D: '/1-D Lookup Table1' * MATLAB Function: '/MATLAB Function' */ if (rtDW.is_active_c776_HVAC_model == 0U) { rtDW.is_active_c776_HVAC_model = 1U; rtDW.is_c776_HVAC_model = IN_PARTIAL_REC_OFF; /* : Comp_Active = 0; */ rtb_DataTypeConversion1_nc = 0U; } else if (rtDW.is_c776_HVAC_model == IN_PARTIAL_REC_OFF) { rtb_DataTypeConversion1_nc = 0U; /* : sf_internal_predicateOutput = Amb_temp >= g_ssPREC_REC_ON_AMB && Full_Rec_Active == 0; */ if ((rtDW.AMB >= g_ssPREC_REC_ON_AMB) && (rtDW.Full_Rec == 0)) { rtDW.is_c776_HVAC_model = IN_PARTIAL_REC_ON; /* : sf_internal_predicateOutput = Evap_F_Fb >= g_aucPREC_EVA_DIFF(1) && Evap_R_Fb >= g_aucPREC_EVA_DIFF(3) &&E_comp_speed >= g_ausPREC_ENTRY_RPM(3); */ if ((rtDW.Eva_F >= g_aucPREC_EVA_DIFF[0]) && ((rtDW.Eva_R >= g_aucPREC_EVA_DIFF[2]) && (El_window_heating >= g_ausPREC_ENTRY_RPM [2]))) { rtDW.is_PARTIAL_REC_ON = IN_COND_3; /* : Comp_Active = 3; */ rtb_DataTypeConversion1_nc = 3U; /* : sf_internal_predicateOutput = E_comp_speed >= g_ausPREC_ENTRY_RPM(2); */ } else if (El_window_heating >= g_ausPREC_ENTRY_RPM[1]) { rtDW.is_PARTIAL_REC_ON = IN_COND_2; /* : Comp_Active = 2; */ rtb_DataTypeConversion1_nc = 2U; rtDW.is_COND_2 = IN_TRACKING; } else { rtDW.is_PARTIAL_REC_ON = IN_COND_1; /* : Comp_Active = 1; */ rtb_DataTypeConversion1_nc = 1U; } } /* case IN_PARTIAL_REC_ON: */ /* : sf_internal_predicateOutput = Amb_temp < g_ssPREC_REC_ON_AMB || Full_Rec_Active == 1; */ } else if ((rtDW.AMB < g_ssPREC_REC_ON_AMB) || (rtDW.Full_Rec == 1)) { rtDW.is_COND_2 = IN_NO_ACTIVE_CHILD_c; rtDW.is_PARTIAL_REC_ON = IN_NO_ACTIVE_CHILD_c; rtDW.is_c776_HVAC_model = IN_PARTIAL_REC_OFF; /* : Comp_Active = 0; */ rtb_DataTypeConversion1_nc = 0U; } else { switch (rtDW.is_PARTIAL_REC_ON) { case IN_COND_1: rtb_DataTypeConversion1_nc = 1U; /* Gain: '/Gain' incorporates: * Gain: '/Gain1' * MATLAB Function: '/MATLAB Function' */ /* : req_OSA =PREC_OSA_SUMMER_1; */ rtb_Saturation2_a = (uint16_t)(5U * El_window_heating); rtB.req_OSA = look1_iu16lu64n48tu8_binlcse(rtb_Saturation2_a, &g_ausPREC_COMP_SPD_1[0], &g_aucPREC_OSA_SUMMER_1[0], 2U); /* : req_REC =PREC_REC_SUMMER_1; */ rtB.req_REC = look1_iu16lu64n48tu8_binlcse(rtb_Saturation2_a, &g_ausPREC_COMP_SPD_1[0], &g_aucPREC_REC_SUMMER_1[0], 2U); break; case IN_COND_2: rtb_DataTypeConversion1_nc = 2U; /* : sf_internal_predicateOutput = E_comp_speed 32767) { rtb_Gain2 = 32767; } else if (rtb_Gain2 < -32768) { rtb_Gain2 = -32768; } index_start = find_index((int16_t)rtb_Gain2); /* : X=g_assPREC_EVA_DIFF_FB_TG_F(x_idx); */ if (rtDW.is_COND_2 == IN_HOLDING) { /* : sf_internal_predicateOutput = X <= 0; */ rtb_Switch2_nb = g_assPREC_EVA_DIFF_FB_TG_F[(int32_t)index_start - 1]; if (rtb_Switch2_nb <= 0) { rtDW.is_COND_2 = IN_TRACKING; /* : sf_internal_predicateOutput = X > X_prev; */ } else if (rtb_Switch2_nb > rtDW.X_prev) { rtDW.is_COND_2 = IN_TRACKING; } else { /* : X_prev = X; */ rtDW.X_prev = rtb_Switch2_nb; } } else { /* case IN_TRACKING: */ /* : sf_internal_predicateOutput = X < X_prev && X > 0; */ rtb_Gain2 = g_assPREC_EVA_DIFF_FB_TG_F[(int32_t)index_start - 1]; if ((rtb_Gain2 < rtDW.X_prev) && (rtb_Gain2 > 0)) { rtDW.is_COND_2 = IN_HOLDING; } else { /* : req_OSA = g_aucPREC_OSA_SUMMER_2(x_idx); */ rtB.req_OSA = g_aucPREC_OSA_SUMMER_2[(int32_t)index_start - 1]; /* : req_REC = g_aucPREC_REC_SUMMER_2(x_idx); */ rtB.req_REC = g_aucPREC_REC_SUMMER_2[(int32_t)index_start - 1]; /* : X_prev = X; */ rtDW.X_prev = g_assPREC_EVA_DIFF_FB_TG_F[(int32_t)index_start - 1]; } } } break; default: /* case IN_COND_3: */ rtb_DataTypeConversion1_nc = 3U; /* : sf_internal_predicateOutput = Evap_F_Fb < g_aucPREC_EVA_DIFF(2) && Evap_R_Fb < g_aucPREC_EVA_DIFF(4)&&E_comp_speed < g_ausPREC_EXIT_RPM(3); */ if ((rtDW.Eva_F < g_aucPREC_EVA_DIFF[1]) && ((rtDW.Eva_R < g_aucPREC_EVA_DIFF[3]) && (El_window_heating < g_ausPREC_EXIT_RPM[2]))) { rtDW.is_PARTIAL_REC_ON = IN_COND_2; /* : Comp_Active = 2; */ rtb_DataTypeConversion1_nc = 2U; rtDW.is_COND_2 = IN_TRACKING; } else { /* : req_OSA = g_ucPREC_OSA_SUMMER_3; */ rtB.req_OSA = g_ucPREC_OSA_SUMMER_3; /* : req_REC = g_ucPREC_REC_SUMMER_3; */ rtB.req_REC = g_ucPREC_REC_SUMMER_3; } break; } } /* End of Chart: '/Partial REC' */ /* Logic: '/OR1' incorporates: * Constant: '/Constant6' * Constant: '/Constant8' * DataStoreRead: '/Data Store Read10' * DataStoreRead: '/Data Store Read74' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator3' */ rtb_LogicalOperator = ((rtDW.condition_ac_max == 1.0) || (rtDW.CCU_RECIRC == 2)); /* Switch: '/Switch8' incorporates: * DataStoreRead: '/Data Store Read11' * Switch: '/Switch7' */ if (!rtDW.Max_def_algo_active) { /* Switch: '/Switch3' incorporates: * DataStoreRead: '/Data Store Read7' * Switch: '/Switch1' * Switch: '/Switch5' */ if (rtDW.Full_Rec > 0) { /* Switch: '/Switch1' incorporates: * Constant: '/Constant4' * DataStoreWrite: '/Data Store Write' */ rtDW.Max_def_OSA_valve = 0U; } else if (rtb_LogicalOperator) { /* Switch: '/Switch1' incorporates: * Constant: '/Constant1' */ if (rtb_DataTypeConversion1_nc > 0) { rtDW.Max_def_OSA_valve = rtB.req_OSA; } else { rtDW.Max_def_OSA_valve = 100U; } /* Lookup_n-D: '/1-D Lookup Table3' incorporates: * DataStoreRead: '/Data Store Read3' * Switch: '/Switch5' */ rtb_DataTypeConversion3_it = look1_iu8lu64n56_binlcse(rtDW.AirQS_COLvl, rtConstP.pooled129, &g_aucAQS_OSA_LV_CO[0], 6U); /* Lookup_n-D: '/1-D Lookup Table4' incorporates: * DataStoreRead: '/Data Store Read4' * Switch: '/Switch5' */ rtb_DataTypeConversion2_au = look1_iu8lu64n56_binlcse(rtDW.AirQS_NOxLvl, rtConstP.pooled129, &g_aucAQS_OSA_LV_NOX[0], 6U); /* MinMax: '/MinMax1' incorporates: * Switch: '/Switch5' */ if (rtb_DataTypeConversion3_it >= rtb_DataTypeConversion2_au) { rtb_DataTypeConversion2_au = rtb_DataTypeConversion3_it; } /* Lookup_n-D: '/1-D Lookup Table5' incorporates: * DataStoreRead: '/Data Store Read5' * Switch: '/Switch5' */ rtb_DataTypeConversion3_it = look1_iu8lu64n56_binlcse(rtDW.AirQS_NH3Lvl, rtConstP.pooled129, &g_aucAQS_OSA_LV_NH3[0], 6U); /* MinMax: '/MinMax1' incorporates: * Switch: '/Switch5' */ if (rtb_DataTypeConversion2_au >= rtb_DataTypeConversion3_it) { rtb_DataTypeConversion3_it = rtb_DataTypeConversion2_au; } /* MinMax: '/MinMax' incorporates: * Switch: '/Switch1' */ if (rtb_DataTypeConversion3_gz <= rtDW.Max_def_OSA_valve) { rtDW.Max_def_OSA_valve = rtb_DataTypeConversion3_gz; } /* MinMax: '/MinMax1' incorporates: * Switch: '/Switch5' */ if (rtb_DataTypeConversion3_it <= rtDW.Max_def_OSA_valve) { /* Switch: '/Switch1' incorporates: * DataStoreWrite: '/Data Store Write' */ rtDW.Max_def_OSA_valve = rtb_DataTypeConversion3_it; } /* End of MinMax: '/MinMax1' */ } else { if (rtb_DataTypeConversion1_nc > 0) { /* Switch: '/Switch1' */ rtDW.Max_def_OSA_valve = rtB.req_OSA; } else { /* Switch: '/Switch1' incorporates: * Constant: '/Constant1' */ rtDW.Max_def_OSA_valve = 100U; } /* MinMax: '/MinMax' incorporates: * Switch: '/Switch1' */ if (rtb_DataTypeConversion3_gz <= rtDW.Max_def_OSA_valve) { /* DataStoreWrite: '/Data Store Write' incorporates: * Switch: '/Switch5' */ rtDW.Max_def_OSA_valve = rtb_DataTypeConversion3_gz; } } /* End of Switch: '/Switch3' */ /* Switch: '/Switch4' incorporates: * Constant: '/Constant7' * DataStoreRead: '/Data Store Read8' * DataStoreRead: '/Data Store Read9' * Logic: '/OR' * RelationalOperator: '/Relational Operator2' * Switch: '/Switch2' * Switch: '/Switch6' */ if ((rtDW.Full_Rec != 0) || (rtDW.condition_ac_max == 2.0)) { /* Switch: '/Switch2' incorporates: * Constant: '/Constant5' * DataStoreWrite: '/Data Store Write1' */ rtDW.Max_def_Rec_valve = 100U; } else if (rtb_LogicalOperator) { /* Switch: '/Switch2' incorporates: * Constant: '/Constant2' */ if (rtb_DataTypeConversion1_nc > 0) { rtDW.Max_def_Rec_valve = rtB.req_REC; } else { rtDW.Max_def_Rec_valve = 0U; } /* Lookup_n-D: '/1-D Lookup Table' incorporates: * DataStoreRead: '/Data Store Read' * Switch: '/Switch6' */ rtb_DataTypeConversion3_it = look1_iu8lu64n56_binlcse(rtDW.AirQS_COLvl, rtConstP.pooled128, &g_aucAQS_REC_LV_CO[0], 7U); /* Lookup_n-D: '/1-D Lookup Table1' incorporates: * DataStoreRead: '/Data Store Read1' * Switch: '/Switch6' */ rtb_DataTypeConversion2_au = look1_iu8lu64n56_binlcse(rtDW.AirQS_NOxLvl, rtConstP.pooled128, &g_aucAQS_REC_LV_NOX[0], 7U); /* MinMax: '/MinMax' incorporates: * Switch: '/Switch6' */ if (rtb_DataTypeConversion3_it >= rtb_DataTypeConversion2_au) { rtb_DataTypeConversion2_au = rtb_DataTypeConversion3_it; } /* Lookup_n-D: '/1-D Lookup Table2' incorporates: * DataStoreRead: '/Data Store Read2' * Switch: '/Switch6' */ rtb_DataTypeConversion3_it = look1_iu8lu64n56_binlcse(rtDW.AirQS_NH3Lvl, rtConstP.pooled128, &g_aucAQS_REC_LV_NH3[0], 7U); /* MinMax: '/MinMax' incorporates: * Switch: '/Switch6' */ if (rtb_DataTypeConversion2_au >= rtb_DataTypeConversion3_it) { rtb_DataTypeConversion3_it = rtb_DataTypeConversion2_au; } /* MinMax: '/MinMax2' incorporates: * Switch: '/Switch2' * Switch: '/Switch6' */ if (rtb_DataTypeConversion3_it <= rtDW.Max_def_Rec_valve) { /* DataStoreWrite: '/Data Store Write1' */ rtDW.Max_def_Rec_valve = rtb_DataTypeConversion3_it; } /* End of MinMax: '/MinMax2' */ } else if (rtb_DataTypeConversion1_nc > 0) { /* Switch: '/Switch2' incorporates: * DataStoreWrite: '/Data Store Write1' * Switch: '/Switch6' */ rtDW.Max_def_Rec_valve = rtB.req_REC; } else { /* Switch: '/Switch2' incorporates: * Constant: '/Constant2' * DataStoreWrite: '/Data Store Write1' * Switch: '/Switch6' */ rtDW.Max_def_Rec_valve = 0U; } /* End of Switch: '/Switch4' */ } /* End of Switch: '/Switch8' */ /* Logic: '/OR' incorporates: * Constant: '/Constant7' * Constant: '/Constant8' * DataStoreRead: '/Data Store Read10' * DataStoreRead: '/Data Store Read9' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator3' */ rtb_RelationalOperator2_l4 = ((rtDW.condition_ac_max == 1.0) || (rtDW.CCU_RECIRC == 2)); /* SwitchCase: '/Switch Case' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read' */ switch (rtDW.CCU_SET_FOOT_FL) { case 0: /* Outputs for IfAction SubSystem: '/Switch Case Action Subsystem' incorporates: * ActionPort: '/Action Port' */ SwitchCaseActionSubsystem(rtDW.ModeIndex[0], &rtB.Merge_j, &rtB.Merge1); /* End of Outputs for SubSystem: '/Switch Case Action Subsystem' */ break; case 1: /* Outputs for IfAction SubSystem: '/Switch Case Action Subsystem1' incorporates: * ActionPort: '/Action Port' */ SwitchCaseActionSubsystem1(rtDW.ModeIndex[0], &rtB.Merge_j, &rtB.Merge1); /* End of Outputs for SubSystem: '/Switch Case Action Subsystem1' */ break; case 2: /* Outputs for IfAction SubSystem: '/Switch Case Action Subsystem2' incorporates: * ActionPort: '/Action Port' */ SwitchCaseActionSubsystem2(rtDW.ModeIndex[0], &rtB.Merge_j, &rtB.Merge1); /* End of Outputs for SubSystem: '/Switch Case Action Subsystem2' */ break; case 3: /* Outputs for IfAction SubSystem: '/Switch Case Action Subsystem3' incorporates: * ActionPort: '/Action Port' */ SwitchCaseActionSubsystem3(&rtB.Merge_j, &rtB.Merge1); /* End of Outputs for SubSystem: '/Switch Case Action Subsystem3' */ break; case 4: /* Outputs for IfAction SubSystem: '/Switch Case Action Subsystem4' incorporates: * ActionPort: '/Action Port' */ SwitchCaseActionSubsystem4(rtDW.ModeIndex[0], &rtB.Merge_j, &rtB.Merge1); /* End of Outputs for SubSystem: '/Switch Case Action Subsystem4' */ break; case 5: /* Outputs for IfAction SubSystem: '/Switch Case Action Subsystem5' incorporates: * ActionPort: '/Action Port' */ SwitchCaseActionSubsystem5(rtDW.ModeIndex[0], &rtB.Merge_j, &rtB.Merge1); /* End of Outputs for SubSystem: '/Switch Case Action Subsystem5' */ break; case 6: /* Outputs for IfAction SubSystem: '/Switch Case Action Subsystem6' incorporates: * ActionPort: '/Action Port' */ SwitchCaseActionSubsystem6(rtDW.ModeIndex[0], &rtB.Merge_j, &rtB.Merge1); /* End of Outputs for SubSystem: '/Switch Case Action Subsystem6' */ break; } /* End of SwitchCase: '/Switch Case' */ /* DataStoreWrite: '/Data Store Write' */ rtDW.Valve_individual_foot_FL = rtB.Merge_j; /* DataStoreWrite: '/Data Store Write1' */ rtDW.Blower_individual_foot_FL = rtB.Merge1; /* Switch: '/Switch' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read2' * DataStoreWrite: '/Data Store Write' * Lookup_n-D: '/1-D Lookup Table' */ if (rtDW.Max_def_algo_active) { rtDW.Dtg_individual_foot_FL = rtDW.Max_def_ind_foot_corr_FL; } else { rtDW.Dtg_individual_foot_FL = look1_iu8lu64n48ts16Ds32_binlcs (rtDW.CCU_SET_FOOT_FL, rtConstP.pooled130, &g_assFOOT_STEP_DUCT_TGT[0], 6U); } /* End of Switch: '/Switch' */ /* SwitchCase: '/Switch Case' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read' */ switch (rtDW.CCU_SET_FOOT_FR) { case 0: /* Outputs for IfAction SubSystem: '/Switch Case Action Subsystem' incorporates: * ActionPort: '/Action Port' */ SwitchCaseActionSubsystem(rtDW.ModeIndex[1], &rtB.Merge_g, &rtB.Merge1_m); /* End of Outputs for SubSystem: '/Switch Case Action Subsystem' */ break; case 1: /* Outputs for IfAction SubSystem: '/Switch Case Action Subsystem1' incorporates: * ActionPort: '/Action Port' */ SwitchCaseActionSubsystem1(rtDW.ModeIndex[1], &rtB.Merge_g, &rtB.Merge1_m); /* End of Outputs for SubSystem: '/Switch Case Action Subsystem1' */ break; case 2: /* Outputs for IfAction SubSystem: '/Switch Case Action Subsystem2' incorporates: * ActionPort: '/Action Port' */ SwitchCaseActionSubsystem2(rtDW.ModeIndex[1], &rtB.Merge_g, &rtB.Merge1_m); /* End of Outputs for SubSystem: '/Switch Case Action Subsystem2' */ break; case 3: /* Outputs for IfAction SubSystem: '/Switch Case Action Subsystem3' incorporates: * ActionPort: '/Action Port' */ SwitchCaseActionSubsystem3(&rtB.Merge_g, &rtB.Merge1_m); /* End of Outputs for SubSystem: '/Switch Case Action Subsystem3' */ break; case 4: /* Outputs for IfAction SubSystem: '/Switch Case Action Subsystem4' incorporates: * ActionPort: '/Action Port' */ SwitchCaseActionSubsystem4(rtDW.ModeIndex[1], &rtB.Merge_g, &rtB.Merge1_m); /* End of Outputs for SubSystem: '/Switch Case Action Subsystem4' */ break; case 5: /* Outputs for IfAction SubSystem: '/Switch Case Action Subsystem5' incorporates: * ActionPort: '/Action Port' */ SwitchCaseActionSubsystem5(rtDW.ModeIndex[1], &rtB.Merge_g, &rtB.Merge1_m); /* End of Outputs for SubSystem: '/Switch Case Action Subsystem5' */ break; case 6: /* Outputs for IfAction SubSystem: '/Switch Case Action Subsystem6' incorporates: * ActionPort: '/Action Port' */ SwitchCaseActionSubsystem6(rtDW.ModeIndex[1], &rtB.Merge_g, &rtB.Merge1_m); /* End of Outputs for SubSystem: '/Switch Case Action Subsystem6' */ break; } /* End of SwitchCase: '/Switch Case' */ /* DataStoreWrite: '/Data Store Write' */ rtDW.Valve_individual_foot_FR = rtB.Merge_g; /* DataStoreWrite: '/Data Store Write1' */ rtDW.Blower_individual_foot_FR = rtB.Merge1_m; /* Switch: '/Switch' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read2' * DataStoreWrite: '/Data Store Write' * Lookup_n-D: '/1-D Lookup Table' */ if (rtDW.Max_def_algo_active) { rtDW.Dtg_individual_foot_FR = rtDW.Max_def_ind_foot_corr_FL; } else { rtDW.Dtg_individual_foot_FR = look1_iu8lu64n48ts16Ds32_binlcs (rtDW.CCU_SET_FOOT_FR, rtConstP.pooled130, &g_assFOOT_STEP_DUCT_TGT[0], 6U); } /* End of Switch: '/Switch' */ /* BusCreator: '/Bus Creator' incorporates: * DataStoreRead: '/Data Store Read10' * DataStoreRead: '/Data Store Read11' * DataStoreRead: '/Data Store Read4' * DataStoreRead: '/Data Store Read5' * DataStoreRead: '/Data Store Read6' * DataStoreRead: '/Data Store Read7' * DataStoreRead: '/Data Store Read8' * DataStoreRead: '/Data Store Read9' * DataStoreWrite: '/Data Store Write2' */ Status_Sensor_Model.Battery = 0; Status_Sensor_Model.AMB = rtDW.AMB; Status_Sensor_Model.Incar_FL = rtDW.Incar_FL; Status_Sensor_Model.Incar_FR = rtDW.Incar_FR; Status_Sensor_Model.Incar_RL = rtDW.Incar_RL; Status_Sensor_Model.Incar_RR = rtDW.Incar_RR; Status_Sensor_Model.Eva_F = rtDW.Eva_F; Status_Sensor_Model.Eva_R = rtDW.Eva_R; Status_Sensor_Model.Pressure = rtDW.Pressure; Status_Sensor_Model.Duct_FL_Upper = 0; Status_Sensor_Model.Duct_FL_Lower = 0; Status_Sensor_Model.Duct_FR_Upper = 0; Status_Sensor_Model.Duct_FR_Lower = 0; Status_Sensor_Model.Duct_RL = 0; Status_Sensor_Model.Duct_RR = 0; Status_Sensor_Model.Duct_Side_FL = 0; Status_Sensor_Model.Duct_Side_FR = 0; Status_Sensor_Model.Duct_Side_RL = 0; Status_Sensor_Model.Duct_Side_RR = 0; Status_Sensor_Model.AQS = 0; /* Product: '/Divide1' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * DataStoreRead: '/Data Store Read1' * Product: '/Divide' */ index_start = (double)rtDW.ADC_Data_Model.Sensor_Incar_Temp_FL / 4095.0 * 5.0; /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' */ rtb_Compare_h2 = (index_start < 0.05); /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' */ rtb_Compare_bu = (index_start > 4.8); /* Logic: '/Logical Operator' */ rtb_LogicalOperator = (rtb_Compare_h2 || rtb_Compare_bu); /* Logic: '/Logical Operator1' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read4' * RelationalOperator: '/Compare' * Sum: '/Subtract' * UnitDelay: '/t_start_delay_private ' */ rtb_err = (rtb_LogicalOperator && (rtDW.t_now - rtDW.t_start_delay_private_DSTATE >= 3000U)); /* Product: '/Divide5' incorporates: * Constant: '/Constant6' * Constant: '/Constant7' * DataStoreRead: '/Data Store Read1' * Product: '/Divide4' */ rtb_Divide5 = (double)rtDW.ADC_Data_Model.Sensor_Incar_Temp_FR / 4095.0 * 5.0; /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' */ rtb_Compare_ht = (rtb_Divide5 < 0.05); /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' */ rtb_Compare_lq = (rtb_Divide5 > 4.8); /* Logic: '/Logical Operator5' */ rtb_AND2_b = (rtb_Compare_ht || rtb_Compare_lq); /* Logic: '/Logical Operator6' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read4' * RelationalOperator: '/Compare' * Sum: '/Subtract' * UnitDelay: '/t_start_delay_private ' */ rtb_LogicalOperator6 = (rtb_AND2_b && (rtDW.t_now - rtDW.t_start_delay_private_DSTATE_i >= 3000U)); /* Lookup_n-D: '/1-D Lookup Table4' incorporates: * DataStoreRead: '/Data Store Read1' */ rtDW.Incar_FR = look1_iu16tdIs16_binlcs (rtDW.ADC_Data_Model.Sensor_Incar_Temp_FR, rtConstP.pooled82, rtConstP.pooled40, 1023U); /* Lookup_n-D: '/1-D Lookup Table2' incorporates: * DataStoreRead: '/Data Store Read1' */ rtb_DataTypeConversion_dl = look1_iu16tdIs16_binlcs (rtDW.ADC_Data_Model.Sensor_Incar_Temp_FL, rtConstP.pooled82, rtConstP.pooled40, 1023U); /* Switch: '/Switch' incorporates: * Constant: '/Температура для состояния ошибки' * DataStoreWrite: '/Data Store Write1' * Logic: '/Logical Operator1' * Switch: '/Switch1' * Switch: '/Switch2' */ if (rtb_err && rtb_LogicalOperator6) { rtDW.Incar_FL = 200; /* Lookup_n-D: '/1-D Lookup Table4' incorporates: * Constant: '/Температура для состояния ошибки' * Constant: '/Температура для состояния ошибки1' * DataStoreWrite: '/Data Store Write1' */ rtDW.Incar_FR = 200; } else { if (rtb_err) { /* Switch: '/Switch1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.Incar_FL = rtDW.Incar_FR; } else { rtDW.Incar_FL = rtb_DataTypeConversion_dl; } /* Switch: '/Switch3' incorporates: * DataStoreWrite: '/Data Store Write1' * Switch: '/Switch1' */ if (rtb_LogicalOperator6) { /* Lookup_n-D: '/1-D Lookup Table4' */ rtDW.Incar_FR = rtb_DataTypeConversion_dl; } /* End of Switch: '/Switch3' */ } /* End of Switch: '/Switch' */ /* Product: '/Divide3' incorporates: * Constant: '/Constant3' * Constant: '/Constant4' * DataStoreRead: '/Data Store Read1' * Product: '/Divide2' */ rtb_Divide3 = (double)rtDW.ADC_Data_Model.Sensor_Incar_Temp_RL / 4095.0 * 5.0; /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' */ rtb_Compare_jv1 = (rtb_Divide3 < 0.05); /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' */ rtb_Compare_jve = (rtb_Divide3 > 4.8); /* Logic: '/Logical Operator2' */ rtb_FailCond_iw = (rtb_Compare_jv1 || rtb_Compare_jve); /* Logic: '/Logical Operator3' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read4' * RelationalOperator: '/Compare' * Sum: '/Subtract' * UnitDelay: '/t_start_delay_private ' */ rtb_LogicalOperator3 = (rtb_FailCond_iw && (rtDW.t_now - rtDW.t_start_delay_private_DSTATE_k >= 3000U)); /* Product: '/Divide7' incorporates: * Constant: '/Constant10' * Constant: '/Constant9' * DataStoreRead: '/Data Store Read1' * Product: '/Divide6' */ rtb_Divide7 = (double)rtDW.ADC_Data_Model.Sensor_Incar_Temp_RR / 4095.0 * 5.0; /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' */ rtb_Compare_bef = (rtb_Divide7 < 0.05); /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' */ rtb_Compare_pt = (rtb_Divide7 > 4.8); /* Logic: '/Logical Operator7' */ rtb_FailCond_e = (rtb_Compare_bef || rtb_Compare_pt); /* Logic: '/Logical Operator8' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read4' * RelationalOperator: '/Compare' * Sum: '/Subtract' * UnitDelay: '/t_start_delay_private ' */ rtb_LogicalOperator8 = (rtb_FailCond_e && (rtDW.t_now - rtDW.t_start_delay_private_DSTATE_p >= 3000U)); /* Lookup_n-D: '/1-D Lookup Table3' incorporates: * DataStoreRead: '/Data Store Read1' */ rtDW.Incar_RR = look1_iu16tdIs16_binlcs (rtDW.ADC_Data_Model.Sensor_Incar_Temp_RR, rtConstP.pooled82, rtConstP.pooled40, 1023U); /* Lookup_n-D: '/1-D Lookup Table1' incorporates: * DataStoreRead: '/Data Store Read1' */ rtb_DataTypeConversion_dl = look1_iu16tdIs16_binlcs (rtDW.ADC_Data_Model.Sensor_Incar_Temp_RL, rtConstP.pooled82, rtConstP.pooled40, 1023U); /* Switch: '/Switch' incorporates: * Constant: '/Температура для состояния ошибки' * DataStoreWrite: '/Data Store Write4' * Logic: '/Logical Operator1' * Switch: '/Switch1' */ if (rtb_LogicalOperator3 && rtb_LogicalOperator8) { rtDW.Incar_RL = 200; } else if (rtb_LogicalOperator3) { /* Switch: '/Switch1' incorporates: * DataStoreWrite: '/Data Store Write4' */ rtDW.Incar_RL = rtDW.Incar_RR; } else { rtDW.Incar_RL = rtb_DataTypeConversion_dl; } /* End of Switch: '/Switch' */ /* Switch: '/Switch2' incorporates: * Logic: '/Logical Operator2' * Switch: '/Switch3' */ if (rtb_LogicalOperator3 && (rtDW.Incar_RR != 0)) { /* Lookup_n-D: '/1-D Lookup Table3' incorporates: * Constant: '/Температура для состояния ошибки1' */ rtDW.Incar_RR = 200; } else if (rtb_LogicalOperator8) { /* Lookup_n-D: '/1-D Lookup Table3' incorporates: * Switch: '/Switch3' */ rtDW.Incar_RR = rtb_DataTypeConversion_dl; } /* End of Switch: '/Switch2' */ /* Product: '/Divide1' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * DataStoreRead: '/Data Store Read1' * Product: '/Divide' */ rtb_I_od = (double)rtDW.ADC_Data_Model.Sensor_Evap_Temp / 4095.0 * 5.0; /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' */ rtb_Compare_ec = (rtb_I_od < 0.1); /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' */ rtb_Compare_n5k = (rtb_I_od > 4.9); /* Logic: '/Logical Operator' */ rtb_FailCond_mq = (rtb_Compare_ec || rtb_Compare_n5k); /* Logic: '/Logical Operator1' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read4' * RelationalOperator: '/Compare' * Sum: '/Subtract' * UnitDelay: '/t_start_delay_private ' */ rtb_LogicalOperator1 = (rtb_FailCond_mq && (rtDW.t_now - rtDW.t_start_delay_private_DSTATE_g >= 3000U)); /* DataTypeConversion: '/Data Type Conversion' incorporates: * DataStoreWrite: '/Data Store Write' */ rtDW.CCU_EvaTempSenErrF_Stat = rtb_LogicalOperator1; /* Switch: '/Switch' incorporates: * Constant: '/Constant2' * DataStoreRead: '/Data Store Read1' * DataStoreWrite: '/Data Store Write1' * Lookup_n-D: '/1-D Lookup Table' */ if (rtb_LogicalOperator1) { rtDW.Eva_F = -100; } else { rtDW.Eva_F = look1_iu16tdIs16_binlcs(rtDW.ADC_Data_Model.Sensor_Evap_Temp, rtConstP.pooled82, rtConstP.pooled10, 1023U); } /* End of Switch: '/Switch' */ /* DataStoreWrite: '/Data Store Write1' incorporates: * DataTypeConversion: '/Data Type Conversion' * DataTypeConversion: '/Data Type Conversion' */ rtDW.dtc_state_error_model[12] = rtb_LogicalOperator1; /* Switch: '/Switch' incorporates: * DataTypeConversion: '/Data Type Conversion' * Switch: '/Switch1' */ if (rtb_LogicalOperator1) { /* DataStoreWrite: '/Data Store Write' incorporates: * DataTypeConversion: '/Data Type Conversion1' */ rtDW.dtc_state_error_model[13] = rtb_Compare_ec; /* DataStoreWrite: '/Data Store Write1' incorporates: * DataTypeConversion: '/Data Type Conversion2' */ rtDW.dtc_state_error_model[12] = rtb_Compare_n5k; } else { /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.dtc_state_error_model[13] = 0U; } /* End of Switch: '/Switch' */ /* MATLAB Function: '/Write ERROR' incorporates: * DataStoreRead: '/Data Store Read' */ /* : if(LOGGER) */ if ((rtDW.LOGGER_ACP != 0.0) && rtb_LogicalOperator1) { /* : if(EvapFErr) */ /* : fprintf('CCU_Body_Err.CCU_EvaTempSenErrF_Stat = 0x1 (Failure), Sensor_Evap_Temp = %f V\n',Sensor_Evap_Temp); */ printf("CCU_Body_Err.CCU_EvaTempSenErrF_Stat = 0x1 (Failure), Sensor_Evap_Temp = %f V\n", rtb_I_od); fflush(stdout); } /* End of MATLAB Function: '/Write ERROR' */ /* MATLAB Function: '/Write Eva_F' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write1' */ /* : if(LOGGER) */ if (rtDW.LOGGER_ACP != 0.0) { /* : fprintf('Eva_F = %d * 0.1 C\n',Eva_F); */ printf("Eva_F = %d * 0.1 C\n", rtDW.Eva_F); fflush(stdout); } /* End of MATLAB Function: '/Write Eva_F' */ /* Switch: '/Switch' incorporates: * DataStoreRead: '/Data Store Read4' * Logic: '/Logical Operator3' * Logic: '/Logical Operator4' * UnitDelay: '/Cond_prev_private ' * UnitDelay: '/t_start_delay_private ' */ if (rtb_FailCond_mq && (!rtDW.Cond_prev_private_DSTATE)) { rtDW.t_start_delay_private_DSTATE_g = rtDW.t_now; } /* End of Switch: '/Switch' */ /* Product: '/Divide1' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * DataStoreRead: '/Data Store Read1' * Product: '/Divide' */ rtb_I_od = (double)rtDW.ADC_Data_Model.Sensor_Rear_Evap_Temp / 4095.0 * 5.0; /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' */ rtb_Compare_n5k = (rtb_I_od < 0.1); /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' */ rtb_LogicalOperator1 = (rtb_I_od > 4.9); /* Logic: '/Logical Operator' */ rtb_Compare_ec = (rtb_Compare_n5k || rtb_LogicalOperator1); /* Logic: '/Logical Operator1' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read4' * RelationalOperator: '/Compare' * Sum: '/Subtract' * UnitDelay: '/t_start_delay_private ' */ rtb_LogicalOperator1_dv = (rtb_Compare_ec && (rtDW.t_now - rtDW.t_start_delay_private_DSTATE_c >= 3000U)); /* DataTypeConversion: '/Data Type Conversion' incorporates: * DataStoreWrite: '/Data Store Write' */ rtDW.CCU_EvaTempSenErrR_Stat = rtb_LogicalOperator1_dv; /* Switch: '/Switch' incorporates: * Constant: '/Constant2' * DataStoreRead: '/Data Store Read1' * DataStoreWrite: '/Data Store Write1' * Lookup_n-D: '/1-D Lookup Table' */ if (rtb_LogicalOperator1_dv) { rtDW.Eva_R = -100; } else { rtDW.Eva_R = look1_iu16tdIs16_binlcs (rtDW.ADC_Data_Model.Sensor_Rear_Evap_Temp, rtConstP.pooled82, rtConstP.pooled10, 1023U); } /* End of Switch: '/Switch' */ /* DataStoreWrite: '/Data Store Write1' incorporates: * DataTypeConversion: '/Data Type Conversion' * DataTypeConversion: '/Data Type Conversion' */ rtDW.dtc_state_error_model[14] = rtb_LogicalOperator1_dv; /* Switch: '/Switch' incorporates: * DataTypeConversion: '/Data Type Conversion' * Switch: '/Switch1' */ if (rtb_LogicalOperator1_dv) { /* DataStoreWrite: '/Data Store Write' incorporates: * DataTypeConversion: '/Data Type Conversion1' */ rtDW.dtc_state_error_model[15] = rtb_Compare_n5k; /* DataStoreWrite: '/Data Store Write1' incorporates: * DataTypeConversion: '/Data Type Conversion2' */ rtDW.dtc_state_error_model[14] = rtb_LogicalOperator1; } else { /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.dtc_state_error_model[15] = 0U; } /* End of Switch: '/Switch' */ /* MATLAB Function: '/Write ERROR' incorporates: * DataStoreRead: '/Data Store Read' */ /* : if(LOGGER) */ if ((rtDW.LOGGER_ACP != 0.0) && rtb_LogicalOperator1_dv) { /* : if(EvapRErr) */ /* : fprintf('CCU_Body_Err.CCU_EvaTempSenErrR_Stat = 0x1 (Failure), Sensor_Rear_Evap_Temp = %f V\n',Sensor_Rear_Evap_Temp); */ printf("CCU_Body_Err.CCU_EvaTempSenErrR_Stat = 0x1 (Failure), Sensor_Rear_Evap_Temp = %f V\n", rtb_I_od); fflush(stdout); } /* End of MATLAB Function: '/Write ERROR' */ /* MATLAB Function: '/Write Eva_F' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write1' */ /* : if(LOGGER) */ if (rtDW.LOGGER_ACP != 0.0) { /* : fprintf('Eva_R = %d * 0.1 C\n',Eva_R); */ printf("Eva_R = %d * 0.1 C\n", rtDW.Eva_R); fflush(stdout); } /* End of MATLAB Function: '/Write Eva_F' */ /* Switch: '/Switch' incorporates: * DataStoreRead: '/Data Store Read4' * Logic: '/Logical Operator3' * Logic: '/Logical Operator4' * UnitDelay: '/Cond_prev_private ' * UnitDelay: '/t_start_delay_private ' */ if (rtb_Compare_ec && (!rtDW.Cond_prev_private_DSTATE_p)) { rtDW.t_start_delay_private_DSTATE_c = rtDW.t_now; } /* End of Switch: '/Switch' */ /* Product: '/Divide1' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * DataStoreRead: '/Data Store Read1' * Product: '/Divide' */ rtb_Divide1_jg = (double)rtDW.ADC_Data_Model.Sensor_AC_Pressure / 4095.0 * 5.0; /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' */ rtb_LogicalOperator1 = (rtb_Divide1_jg < 0.1); /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' */ rtb_LogicalOperator1_dv = (rtb_Divide1_jg > 4.9); /* Logic: '/Logical Operator' */ rtb_Compare_n5k = (rtb_LogicalOperator1 || rtb_LogicalOperator1_dv); /* Logic: '/Logical Operator1' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read4' * RelationalOperator: '/Compare' * Sum: '/Subtract' * UnitDelay: '/t_start_delay_private ' */ rtb_LogicalOperator1_n = (rtb_Compare_n5k && (rtDW.t_now - rtDW.t_start_delay_private_DSTATE_h >= 3000U)); /* Switch: '/Switch' incorporates: * Bias: '/Add Constant' * Constant: '/Constant2' * DataStoreWrite: '/Data Store Write' * Gain: '/Gain' * Gain: '/Gain3' * Gain: '/Единицы измерения - в 0.1 атм' * Saturate: '/Saturation' */ if (rtb_LogicalOperator1_n) { rtDW.Pressure = 320; } else { if (rtb_Divide1_jg > 4.5) { /* Saturate: '/Saturation' */ rtb_I_od = 4.5; } else if (rtb_Divide1_jg < 0.5) { /* Saturate: '/Saturation' */ rtb_I_od = 0.5; } else { /* Saturate: '/Saturation' */ rtb_I_od = rtb_Divide1_jg; } rtDW.Pressure = (int16_t)floor((8.0 * rtb_I_od - 4.0) * 0.96784 * 10.0); } /* End of Switch: '/Switch' */ /* DataTypeConversion: '/Data Type Conversion' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.CCU_PressSenErr_Stat = rtb_LogicalOperator1_n; /* DataStoreWrite: '/Data Store Write1' incorporates: * DataTypeConversion: '/Data Type Conversion' * DataTypeConversion: '/Data Type Conversion' */ rtDW.dtc_state_error_model[51] = rtb_LogicalOperator1_n; /* Switch: '/Switch' incorporates: * DataTypeConversion: '/Data Type Conversion' * Switch: '/Switch1' */ if (rtb_LogicalOperator1_n) { /* DataStoreWrite: '/Data Store Write' incorporates: * DataTypeConversion: '/Data Type Conversion1' */ rtDW.dtc_state_error_model[50] = rtb_LogicalOperator1; /* DataStoreWrite: '/Data Store Write1' incorporates: * DataTypeConversion: '/Data Type Conversion2' */ rtDW.dtc_state_error_model[51] = rtb_LogicalOperator1_dv; } else { /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.dtc_state_error_model[50] = 0U; } /* End of Switch: '/Switch' */ /* MATLAB Function: '/Write' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write' */ /* : if(LOGGER) */ if (rtDW.LOGGER_ACP != 0.0) { /* : fprintf('AC_Pressure = %d ATM\n',AC_Pressure); */ printf("AC_Pressure = %d ATM\n", rtDW.Pressure); fflush(stdout); } /* End of MATLAB Function: '/Write' */ /* MATLAB Function: '/Write ERROR' incorporates: * DataStoreRead: '/Data Store Read' */ /* : if(LOGGER) */ if ((rtDW.LOGGER_ACP != 0.0) && rtb_LogicalOperator1_n) { /* : if(AC_PressureErr) */ /* : fprintf('CCU_Body_Err.CCU_PressSenErr_Stat = 0x1 (Failure), Sensor_AC_Pressure = %f V\n',Sensor_AC_Pressure); */ printf("CCU_Body_Err.CCU_PressSenErr_Stat = 0x1 (Failure), Sensor_AC_Pressure = %f V\n", rtb_Divide1_jg); fflush(stdout); } /* End of MATLAB Function: '/Write ERROR' */ /* Switch: '/Switch' incorporates: * DataStoreRead: '/Data Store Read4' * Logic: '/Logical Operator3' * Logic: '/Logical Operator4' * UnitDelay: '/Cond_prev_private ' * UnitDelay: '/t_start_delay_private ' */ if (rtb_Compare_n5k && (!rtDW.Cond_prev_private_DSTATE_a)) { rtDW.t_start_delay_private_DSTATE_h = rtDW.t_now; } /* End of Switch: '/Switch' */ /* Product: '/Divide3' incorporates: * Constant: '/Constant3' * Constant: '/Constant4' * DataStoreRead: '/Data Store Read1' * Product: '/Divide2' */ rtb_I_od = (double)rtDW.ADC_Data_Model.Sensor_Front_Duct1 / 4095.0 * 5.0; /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' */ rtb_Compare_ff = (rtb_I_od < 0.15); /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' */ rtb_Compare_jz = (rtb_I_od > 4.9); /* Logic: '/Logical Operator2' */ rtb_LogicalOperator1 = (rtb_Compare_ff || rtb_Compare_jz); /* Logic: '/Logical Operator3' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read4' * RelationalOperator: '/Compare' * Sum: '/Subtract' * UnitDelay: '/t_start_delay_private ' */ rtb_LogicalOperator3_cz = (rtb_LogicalOperator1 && (rtDW.t_now - rtDW.t_start_delay_private_DSTATE_kc >= 3000U)); /* Product: '/Divide4' incorporates: * Constant: '/Constant1' * Constant: '/Constant2' * DataStoreRead: '/Data Store Read1' * Product: '/Divide1' */ rtb_Divide1_jg = (double)rtDW.ADC_Data_Model.Sensor_Front_Duct2 / 4095.0 * 5.0; /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' */ rtb_Compare_n3 = (rtb_Divide1_jg < 0.15); /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' */ rtb_Compare_pjy = (rtb_Divide1_jg > 4.9); /* Logic: '/Logical Operator1' */ rtb_LogicalOperator1_dv = (rtb_Compare_n3 || rtb_Compare_pjy); /* Logic: '/Logical Operator4' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read4' * RelationalOperator: '/Compare' * Sum: '/Subtract' * UnitDelay: '/t_start_delay_private ' */ rtb_LogicalOperator4_fo = (rtb_LogicalOperator1_dv && (rtDW.t_now - rtDW.t_start_delay_private_DSTATE_m >= 3000U)); /* Product: '/Divide6' incorporates: * Constant: '/Constant7' * Constant: '/Constant8' * DataStoreRead: '/Data Store Read1' * Product: '/Divide5' */ rtb_Divide6 = (double)rtDW.ADC_Data_Model.Sensor_Front_Duct3 / 4095.0 * 5.0; /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' */ rtb_Compare_hs = (rtb_Divide6 < 0.15); /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' */ rtb_Compare_ps1 = (rtb_Divide6 > 4.9); /* Logic: '/Logical Operator5' */ rtb_LogicalOperator1_n = (rtb_Compare_hs || rtb_Compare_ps1); /* Logic: '/Logical Operator6' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read4' * RelationalOperator: '/Compare' * Sum: '/Subtract' * UnitDelay: '/t_start_delay_private ' */ rtb_LogicalOperator6_m = (rtb_LogicalOperator1_n && (rtDW.t_now - rtDW.t_start_delay_private_DSTATE_pn >= 3000U)); /* Product: '/Divide8' incorporates: * Constant: '/Constant10' * Constant: '/Constant11' * DataStoreRead: '/Data Store Read1' * Product: '/Divide7' */ rtb_Divide8 = (double)rtDW.ADC_Data_Model.Sensor_Front_Duct4 / 4095.0 * 5.0; /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' */ rtb_Compare_fi = (rtb_Divide8 < 0.15); /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' */ rtb_Compare_i1 = (rtb_Divide8 > 4.9); /* Logic: '/Logical Operator7' */ rtb_FailCond_l = (rtb_Compare_fi || rtb_Compare_i1); /* Logic: '/Logical Operator8' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read4' * RelationalOperator: '/Compare' * Sum: '/Subtract' * UnitDelay: '/t_start_delay_private ' */ rtb_LogicalOperator8_i = (rtb_FailCond_l && (rtDW.t_now - rtDW.t_start_delay_private_DSTATE_hb >= 3000U)); /* Product: '/Divide10' incorporates: * Constant: '/Constant13' * Constant: '/Constant14' * DataStoreRead: '/Data Store Read1' * Product: '/Divide9' */ rtb_Divide10 = (double)rtDW.ADC_Data_Model.Sensor_Front_Duct5 / 4095.0 * 5.0; /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' */ rtb_Compare_jv = (rtb_Divide10 < 0.15); /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' */ rtb_Compare_o5 = (rtb_Divide10 > 4.9); /* Logic: '/Logical Operator9' */ rtb_FailCond_d4 = (rtb_Compare_jv || rtb_Compare_o5); /* Logic: '/Logical Operator10' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read4' * RelationalOperator: '/Compare' * Sum: '/Subtract' * UnitDelay: '/t_start_delay_private ' */ rtb_LogicalOperator10 = (rtb_FailCond_d4 && (rtDW.t_now - rtDW.t_start_delay_private_DSTATE_i3 >= 3000U)); /* Product: '/Divide11' incorporates: * Constant: '/Constant16' * Constant: '/Constant17' * DataStoreRead: '/Data Store Read1' * Product: '/Divide12' */ rtb_Divide11 = (double)rtDW.ADC_Data_Model.Sensor_Front_Duct6 / 4095.0 * 5.0; /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' */ rtb_Compare_gy = (rtb_Divide11 < 0.15); /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' */ rtb_Compare_n5 = (rtb_Divide11 > 4.9); /* Logic: '/Logical Operator12' */ rtb_FailCond_ad = (rtb_Compare_gy || rtb_Compare_n5); /* Logic: '/Logical Operator11' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read4' * RelationalOperator: '/Compare' * Sum: '/Subtract' * UnitDelay: '/t_start_delay_private ' */ rtb_LogicalOperator11 = (rtb_FailCond_ad && (rtDW.t_now - rtDW.t_start_delay_private_DSTATE_cc >= 3000U)); /* SignalConversion generated from: '/1-D Lookup Table7' incorporates: * DataStoreRead: '/Data Store Read1' */ rtb_TmpSignalConversionAt1DLookupTable7Inport1[0] = rtDW.ADC_Data_Model.Sensor_Front_Duct1; rtb_TmpSignalConversionAt1DLookupTable7Inport1[1] = rtDW.ADC_Data_Model.Sensor_Front_Duct2; rtb_TmpSignalConversionAt1DLookupTable7Inport1[2] = rtDW.ADC_Data_Model.Sensor_Front_Duct3; rtb_TmpSignalConversionAt1DLookupTable7Inport1[3] = rtDW.ADC_Data_Model.Sensor_Front_Duct4; rtb_TmpSignalConversionAt1DLookupTable7Inport1[4] = rtDW.ADC_Data_Model.Sensor_Front_Duct5; rtb_TmpSignalConversionAt1DLookupTable7Inport1[5] = rtDW.ADC_Data_Model.Sensor_Front_Duct6; /* Lookup_n-D: '/1-D Lookup Table7' */ for (rtb_Gain2 = 0; rtb_Gain2 < 6; rtb_Gain2++) { rtb_uDLookupTable7_g[rtb_Gain2] = look1_iu16bs16lu64n32ts16Ds32_binlcs (rtb_TmpSignalConversionAt1DLookupTable7Inport1[rtb_Gain2], rtConstP.pooled71, rtConstP.pooled70, 1023U); } /* End of Lookup_n-D: '/1-D Lookup Table7' */ /* Switch: '/Switch2' incorporates: * Constant: '/Constant6' */ if (rtb_LogicalOperator4_fo) { rtb_Switch2_nb = 230; } else { rtb_Switch2_nb = rtb_uDLookupTable7_g[1]; } /* End of Switch: '/Switch2' */ /* MATLAB Function: '/is 3 sec after T15 passed' incorporates: * DataStoreRead: '/Data Store Read7' * DataStoreRead: '/Data Store Read8' */ is3secafterT15passed(rtDW.t_now, rtDW.BCM_T15_Stat, &rtb_LogicalOperator_fc, &rtDW.sf_is3secafterT15passed_m); /* DataStoreWrite: '/Data Store Write1' incorporates: * DataStoreRead: '/Data Store Read44' * MATLAB Function: '/filter duct' */ filterduct(rtb_Switch2_nb, rtb_LogicalOperator_fc, rtDW.t_now, &rtb_MultiportSwitch_cq, &rtDW.sf_filterduct_k); /* Switch: '/Switch1' incorporates: * Constant: '/Constant5' */ if (rtb_LogicalOperator3_cz) { rtb_Switch1_f = 230; } else { rtb_Switch1_f = rtb_uDLookupTable7_g[0]; } /* End of Switch: '/Switch1' */ /* MATLAB Function: '/is 3 sec after T15 passed' incorporates: * DataStoreRead: '/Data Store Read7' * DataStoreRead: '/Data Store Read8' */ is3secafterT15passed(rtDW.t_now, rtDW.BCM_T15_Stat, &rtb_LogicalOperator_fc, &rtDW.sf_is3secafterT15passed); /* MATLAB Function: '/filter duct' incorporates: * DataStoreRead: '/Data Store Read44' */ filterduct(rtb_Switch1_f, rtb_LogicalOperator_fc, rtDW.t_now, &rtb_DataTypeConversion_dl, &rtDW.sf_filterduct); /* DataStoreWrite: '/Data Store Write2' */ rtb_X = rtb_DataTypeConversion_dl; /* Switch: '/Switch3' incorporates: * Constant: '/Constant9' */ if (rtb_LogicalOperator6_m) { rtb_Switch3_no = 230; } else { rtb_Switch3_no = rtb_uDLookupTable7_g[2]; } /* End of Switch: '/Switch3' */ /* MATLAB Function: '/is 3 sec after T15 passed' incorporates: * DataStoreRead: '/Data Store Read7' * DataStoreRead: '/Data Store Read8' */ is3secafterT15passed(rtDW.t_now, rtDW.BCM_T15_Stat, &rtb_LogicalOperator_fc, &rtDW.sf_is3secafterT15passed_o); /* MATLAB Function: '/filter duct' incorporates: * DataStoreRead: '/Data Store Read44' */ filterduct(rtb_Switch3_no, rtb_LogicalOperator_fc, rtDW.t_now, &rtb_DataTypeConversion_dl, &rtDW.sf_filterduct_c); /* DataStoreWrite: '/Data Store Write3' */ rtb_MultiportSwitch_ac = rtb_DataTypeConversion_dl; /* Switch: '/Switch4' incorporates: * Constant: '/Constant12' */ if (rtb_LogicalOperator8_i) { rtb_Switch4_f5 = 230; } else { rtb_Switch4_f5 = rtb_uDLookupTable7_g[3]; } /* End of Switch: '/Switch4' */ /* MATLAB Function: '/is 3 sec after T15 passed' incorporates: * DataStoreRead: '/Data Store Read7' * DataStoreRead: '/Data Store Read8' */ is3secafterT15passed(rtDW.t_now, rtDW.BCM_T15_Stat, &rtb_LogicalOperator_fc, &rtDW.sf_is3secafterT15passed_h); /* MATLAB Function: '/filter duct' incorporates: * DataStoreRead: '/Data Store Read44' */ filterduct(rtb_Switch4_f5, rtb_LogicalOperator_fc, rtDW.t_now, &rtb_DataTypeConversion_dl, &rtDW.sf_filterduct_o); /* DataStoreWrite: '/Data Store Write4' */ rtb_Bias1_h = rtb_DataTypeConversion_dl; /* Switch: '/Switch5' incorporates: * Constant: '/Constant15' */ if (rtb_LogicalOperator10) { rtb_Switch5_l = 230; } else { rtb_Switch5_l = rtb_uDLookupTable7_g[4]; } /* End of Switch: '/Switch5' */ /* MATLAB Function: '/is 3 sec after T15 passed' incorporates: * DataStoreRead: '/Data Store Read7' * DataStoreRead: '/Data Store Read8' */ is3secafterT15passed(rtDW.t_now, rtDW.BCM_T15_Stat, &rtb_LogicalOperator_fc, &rtDW.sf_is3secafterT15passed_e); /* MATLAB Function: '/filter duct' incorporates: * DataStoreRead: '/Data Store Read44' */ filterduct(rtb_Switch5_l, rtb_LogicalOperator_fc, rtDW.t_now, &rtb_DataTypeConversion_dl, &rtDW.sf_filterduct_h); /* DataStoreWrite: '/Data Store Write5' */ rtb_FLU_tg_correct_ot = rtb_DataTypeConversion_dl; /* Switch: '/Switch6' incorporates: * Constant: '/Constant18' */ if (rtb_LogicalOperator11) { rtb_Switch6_c = 230; } else { rtb_Switch6_c = rtb_uDLookupTable7_g[5]; } /* End of Switch: '/Switch6' */ /* MATLAB Function: '/is 3 sec after T15 passed' incorporates: * DataStoreRead: '/Data Store Read7' * DataStoreRead: '/Data Store Read8' */ is3secafterT15passed(rtDW.t_now, rtDW.BCM_T15_Stat, &rtb_LogicalOperator_fc, &rtDW.sf_is3secafterT15passed_c); /* MATLAB Function: '/filter duct' incorporates: * DataStoreRead: '/Data Store Read44' */ filterduct(rtb_Switch6_c, rtb_LogicalOperator_fc, rtDW.t_now, &rtb_DataTypeConversion_dl, &rtDW.sf_filterduct_j); /* DataStoreWrite: '/Data Store Write1' incorporates: * DataTypeConversion: '/Data Type Conversion' */ rtDW.dtc_state_error_model[17] = rtb_LogicalOperator3_cz; /* Switch: '/Switch' incorporates: * DataTypeConversion: '/Data Type Conversion' * Switch: '/Switch1' */ if (rtb_LogicalOperator3_cz) { /* DataStoreWrite: '/Data Store Write' incorporates: * DataTypeConversion: '/Data Type Conversion1' */ rtDW.dtc_state_error_model[18] = rtb_Compare_ff; /* DataStoreWrite: '/Data Store Write1' incorporates: * DataTypeConversion: '/Data Type Conversion2' */ rtDW.dtc_state_error_model[17] = rtb_Compare_jz; } else { /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.dtc_state_error_model[18] = 0U; } /* End of Switch: '/Switch' */ /* DataStoreWrite: '/Data Store Write1' incorporates: * DataTypeConversion: '/Data Type Conversion' */ rtDW.dtc_state_error_model[19] = rtb_LogicalOperator4_fo; /* Switch: '/Switch' incorporates: * DataTypeConversion: '/Data Type Conversion' * Switch: '/Switch1' */ if (rtb_LogicalOperator4_fo) { /* DataStoreWrite: '/Data Store Write' incorporates: * DataTypeConversion: '/Data Type Conversion1' */ rtDW.dtc_state_error_model[20] = rtb_Compare_n3; /* DataStoreWrite: '/Data Store Write1' incorporates: * DataTypeConversion: '/Data Type Conversion2' */ rtDW.dtc_state_error_model[19] = rtb_Compare_pjy; } else { /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.dtc_state_error_model[20] = 0U; } /* End of Switch: '/Switch' */ /* DataStoreWrite: '/Data Store Write1' incorporates: * DataTypeConversion: '/Data Type Conversion' */ rtDW.dtc_state_error_model[21] = rtb_LogicalOperator6_m; /* Switch: '/Switch' incorporates: * DataTypeConversion: '/Data Type Conversion' * Switch: '/Switch1' */ if (rtb_LogicalOperator6_m) { /* DataStoreWrite: '/Data Store Write' incorporates: * DataTypeConversion: '/Data Type Conversion1' */ rtDW.dtc_state_error_model[22] = rtb_Compare_hs; /* DataStoreWrite: '/Data Store Write1' incorporates: * DataTypeConversion: '/Data Type Conversion2' */ rtDW.dtc_state_error_model[21] = rtb_Compare_ps1; } else { /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.dtc_state_error_model[22] = 0U; } /* End of Switch: '/Switch' */ /* DataStoreWrite: '/Data Store Write1' incorporates: * DataTypeConversion: '/Data Type Conversion' */ rtDW.dtc_state_error_model[23] = rtb_LogicalOperator8_i; /* Switch: '/Switch' incorporates: * DataTypeConversion: '/Data Type Conversion' * Switch: '/Switch1' */ if (rtb_LogicalOperator8_i) { /* DataStoreWrite: '/Data Store Write' incorporates: * DataTypeConversion: '/Data Type Conversion1' */ rtDW.dtc_state_error_model[24] = rtb_Compare_fi; /* DataStoreWrite: '/Data Store Write1' incorporates: * DataTypeConversion: '/Data Type Conversion2' */ rtDW.dtc_state_error_model[23] = rtb_Compare_i1; } else { /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.dtc_state_error_model[24] = 0U; } /* End of Switch: '/Switch' */ /* DataStoreWrite: '/Data Store Write1' incorporates: * DataTypeConversion: '/Data Type Conversion' */ rtDW.dtc_state_error_model[25] = rtb_LogicalOperator10; /* Switch: '/Switch' incorporates: * DataTypeConversion: '/Data Type Conversion' * Switch: '/Switch1' */ if (rtb_LogicalOperator10) { /* DataStoreWrite: '/Data Store Write' incorporates: * DataTypeConversion: '/Data Type Conversion1' */ rtDW.dtc_state_error_model[26] = rtb_Compare_jv; /* DataStoreWrite: '/Data Store Write1' incorporates: * DataTypeConversion: '/Data Type Conversion2' */ rtDW.dtc_state_error_model[25] = rtb_Compare_o5; } else { /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.dtc_state_error_model[26] = 0U; } /* End of Switch: '/Switch' */ /* DataStoreWrite: '/Data Store Write1' incorporates: * DataTypeConversion: '/Data Type Conversion' */ rtDW.dtc_state_error_model[27] = rtb_LogicalOperator11; /* Switch: '/Switch' incorporates: * DataTypeConversion: '/Data Type Conversion' * Switch: '/Switch1' */ if (rtb_LogicalOperator11) { /* DataStoreWrite: '/Data Store Write' incorporates: * DataTypeConversion: '/Data Type Conversion1' */ rtDW.dtc_state_error_model[28] = rtb_Compare_gy; /* DataStoreWrite: '/Data Store Write1' incorporates: * DataTypeConversion: '/Data Type Conversion2' */ rtDW.dtc_state_error_model[27] = rtb_Compare_n5; } else { /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.dtc_state_error_model[28] = 0U; } /* End of Switch: '/Switch' */ /* MATLAB Function: '/Write 1' incorporates: * DataStoreRead: '/Data Store Read1' */ /* : if(LOGGER) */ if (rtDW.LOGGER_ACP != 0.0) { /* : fprintf('Duct1_F = %d * 0.1 C\n',Sensor); */ printf("Duct1_F = %d * 0.1 C\n", rtb_Switch1_f); fflush(stdout); } /* End of MATLAB Function: '/Write 1' */ /* MATLAB Function: '/Write 2' incorporates: * DataStoreRead: '/Data Store Read2' */ /* : if(LOGGER) */ if (rtDW.LOGGER_ACP != 0.0) { /* : fprintf('Duct2_F = %d * 0.1 C\n',Sensor); */ printf("Duct2_F = %d * 0.1 C\n", rtb_Switch2_nb); fflush(stdout); } /* End of MATLAB Function: '/Write 2' */ /* MATLAB Function: '/Write 3' incorporates: * DataStoreRead: '/Data Store Read3' */ /* : if(LOGGER) */ if (rtDW.LOGGER_ACP != 0.0) { /* : fprintf('Duct3_F = %d * 0.1 C\n',Sensor); */ printf("Duct3_F = %d * 0.1 C\n", rtb_Switch3_no); fflush(stdout); } /* End of MATLAB Function: '/Write 3' */ /* MATLAB Function: '/Write 4' incorporates: * DataStoreRead: '/Data Store Read4' */ /* : if(LOGGER) */ if (rtDW.LOGGER_ACP != 0.0) { /* : fprintf('Duct4_F = %d * 0.1 C\n',Sensor); */ printf("Duct4_F = %d * 0.1 C\n", rtb_Switch4_f5); fflush(stdout); } /* End of MATLAB Function: '/Write 4' */ /* MATLAB Function: '/Write 5' incorporates: * DataStoreRead: '/Data Store Read5' */ /* : if(LOGGER) */ if (rtDW.LOGGER_ACP != 0.0) { /* : fprintf('Duct5_F = %d * 0.1 C\n',Sensor); */ printf("Duct5_F = %d * 0.1 C\n", rtb_Switch5_l); fflush(stdout); } /* End of MATLAB Function: '/Write 5' */ /* MATLAB Function: '/Write 6' incorporates: * DataStoreRead: '/Data Store Read6' */ /* : if(LOGGER) */ if (rtDW.LOGGER_ACP != 0.0) { /* : fprintf('Duct6_F = %d * 0.1 C\n',Sensor); */ printf("Duct6_F = %d * 0.1 C\n", rtb_Switch6_c); fflush(stdout); } /* End of MATLAB Function: '/Write 6' */ /* MATLAB Function: '/Write ERROR1' incorporates: * DataStoreRead: '/Data Store Read1' */ /* : if(LOGGER) */ if ((rtDW.LOGGER_ACP != 0.0) && rtb_LogicalOperator3_cz) { /* : if(Err) */ /* : fprintf('CCU_Body_Err.CCU_DuctTempSenErrF_Stat = 0x1 (Failure), Sensor_Duct1_F = %f V\n',Sensor); */ printf("CCU_Body_Err.CCU_DuctTempSenErrF_Stat = 0x1 (Failure), Sensor_Duct1_F = %f V\n", rtb_I_od); fflush(stdout); } /* End of MATLAB Function: '/Write ERROR1' */ /* MATLAB Function: '/Write ERROR2' incorporates: * DataStoreRead: '/Data Store Read2' */ /* : if(LOGGER) */ if ((rtDW.LOGGER_ACP != 0.0) && rtb_LogicalOperator4_fo) { /* : if(Err) */ /* : fprintf('CCU_Body_Err.CCU_DuctTempSenErrF_Stat = 0x1 (Failure), Sensor_Duct2_F = %f V\n',Sensor); */ printf("CCU_Body_Err.CCU_DuctTempSenErrF_Stat = 0x1 (Failure), Sensor_Duct2_F = %f V\n", rtb_Divide1_jg); fflush(stdout); } /* End of MATLAB Function: '/Write ERROR2' */ /* MATLAB Function: '/Write ERROR3' incorporates: * DataStoreRead: '/Data Store Read3' */ /* : if(LOGGER) */ if ((rtDW.LOGGER_ACP != 0.0) && rtb_LogicalOperator6_m) { /* : if(Err) */ /* : fprintf('CCU_Body_Err.CCU_DuctTempSenErrF_Stat = 0x1 (Failure), Sensor_Duct3_F = %f V\n',Sensor); */ printf("CCU_Body_Err.CCU_DuctTempSenErrF_Stat = 0x1 (Failure), Sensor_Duct3_F = %f V\n", rtb_Divide6); fflush(stdout); } /* End of MATLAB Function: '/Write ERROR3' */ /* MATLAB Function: '/Write ERROR4' incorporates: * DataStoreRead: '/Data Store Read4' */ /* : if(LOGGER) */ if ((rtDW.LOGGER_ACP != 0.0) && rtb_LogicalOperator8_i) { /* : if(Err) */ /* : fprintf('CCU_Body_Err.CCU_DuctTempSenErrF_Stat = 0x1 (Failure), Sensor_Duct4_F = %f V\n',Sensor); */ printf("CCU_Body_Err.CCU_DuctTempSenErrF_Stat = 0x1 (Failure), Sensor_Duct4_F = %f V\n", rtb_Divide8); fflush(stdout); } /* End of MATLAB Function: '/Write ERROR4' */ /* MATLAB Function: '/Write ERROR5' incorporates: * DataStoreRead: '/Data Store Read5' */ /* : if(LOGGER) */ if ((rtDW.LOGGER_ACP != 0.0) && rtb_LogicalOperator10) { /* : if(Err) */ /* : fprintf('CCU_Body_Err.CCU_DuctTempSenErrF_Stat = 0x1 (Failure), Sensor_Duct5_F = %f V\n',Sensor); */ printf("CCU_Body_Err.CCU_DuctTempSenErrF_Stat = 0x1 (Failure), Sensor_Duct5_F = %f V\n", rtb_Divide10); fflush(stdout); } /* End of MATLAB Function: '/Write ERROR5' */ /* MATLAB Function: '/Write ERROR6' incorporates: * DataStoreRead: '/Data Store Read6' */ /* : if(LOGGER) */ if ((rtDW.LOGGER_ACP != 0.0) && rtb_LogicalOperator11) { /* : if(Err) */ /* : fprintf('CCU_Body_Err.CCU_DuctTempSenErrF_Stat = 0x1 (Failure), Sensor_Duct6_F = %f V\n',Sensor); */ printf("CCU_Body_Err.CCU_DuctTempSenErrF_Stat = 0x1 (Failure), Sensor_Duct6_F = %f V\n", rtb_Divide11); fflush(stdout); } /* End of MATLAB Function: '/Write ERROR6' */ /* Switch: '/Switch' incorporates: * DataStoreRead: '/Data Store Read4' * Logic: '/Logical Operator3' * Logic: '/Logical Operator4' * UnitDelay: '/Cond_prev_private ' * UnitDelay: '/t_start_delay_private ' */ if (rtb_LogicalOperator1 && (!rtDW.Cond_prev_private_DSTATE_h)) { rtDW.t_start_delay_private_DSTATE_kc = rtDW.t_now; } /* End of Switch: '/Switch' */ /* Switch: '/Switch' incorporates: * DataStoreRead: '/Data Store Read4' * Logic: '/Logical Operator3' * Logic: '/Logical Operator4' * UnitDelay: '/Cond_prev_private ' * UnitDelay: '/t_start_delay_private ' */ if (rtb_LogicalOperator1_dv && (!rtDW.Cond_prev_private_DSTATE_c)) { rtDW.t_start_delay_private_DSTATE_m = rtDW.t_now; } /* End of Switch: '/Switch' */ /* Switch: '/Switch' incorporates: * DataStoreRead: '/Data Store Read4' * Logic: '/Logical Operator3' * Logic: '/Logical Operator4' * UnitDelay: '/Cond_prev_private ' * UnitDelay: '/t_start_delay_private ' */ if (rtb_LogicalOperator1_n && (!rtDW.Cond_prev_private_DSTATE_m)) { rtDW.t_start_delay_private_DSTATE_pn = rtDW.t_now; } /* End of Switch: '/Switch' */ /* Switch: '/Switch' incorporates: * DataStoreRead: '/Data Store Read4' * Logic: '/Logical Operator3' * Logic: '/Logical Operator4' * UnitDelay: '/Cond_prev_private ' * UnitDelay: '/t_start_delay_private ' */ if (rtb_FailCond_l && (!rtDW.Cond_prev_private_DSTATE_j)) { rtDW.t_start_delay_private_DSTATE_hb = rtDW.t_now; } /* End of Switch: '/Switch' */ /* Switch: '/Switch' incorporates: * DataStoreRead: '/Data Store Read4' * Logic: '/Logical Operator3' * Logic: '/Logical Operator4' * UnitDelay: '/Cond_prev_private ' * UnitDelay: '/t_start_delay_private ' */ if (rtb_FailCond_d4 && (!rtDW.Cond_prev_private_DSTATE_f)) { rtDW.t_start_delay_private_DSTATE_i3 = rtDW.t_now; } /* End of Switch: '/Switch' */ /* Switch: '/Switch' incorporates: * DataStoreRead: '/Data Store Read4' * Logic: '/Logical Operator3' * Logic: '/Logical Operator4' * UnitDelay: '/Cond_prev_private ' * UnitDelay: '/t_start_delay_private ' */ if (rtb_FailCond_ad && (!rtDW.Cond_prev_private_DSTATE_cn)) { rtDW.t_start_delay_private_DSTATE_cc = rtDW.t_now; } /* End of Switch: '/Switch' */ /* Product: '/Divide1' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * DataStoreRead: '/Data Store Read1' * Product: '/Divide' */ rtb_I_od = (double)rtDW.ADC_Data_Model.Sensor_Rear_Duct1 / 4095.0 * 5.0; /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' */ rtb_LogicalOperator_fc = (rtb_I_od < 0.15); /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' */ rtb_Compare_jv = (rtb_I_od > 4.9); /* Logic: '/Logical Operator' */ rtb_Compare_ff = (rtb_LogicalOperator_fc || rtb_Compare_jv); /* Logic: '/Logical Operator1' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read4' * RelationalOperator: '/Compare' * Sum: '/Subtract' * UnitDelay: '/t_start_delay_private ' */ rtb_Compare_hs = (rtb_Compare_ff && (rtDW.t_now - rtDW.t_start_delay_private_DSTATE_o >= 3000U)); /* Product: '/Divide3' incorporates: * Constant: '/Constant3' * Constant: '/Constant4' * DataStoreRead: '/Data Store Read1' * Product: '/Divide2' */ rtb_Divide1_jg = (double)rtDW.ADC_Data_Model.Sensor_Rear_Duct2 / 4095.0 * 5.0; /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' */ rtb_Compare_o5 = (rtb_Divide1_jg < 0.15); /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' */ rtb_Compare_gy = (rtb_Divide1_jg > 4.9); /* Logic: '/Logical Operator2' */ rtb_Compare_jz = (rtb_Compare_o5 || rtb_Compare_gy); /* Logic: '/Logical Operator3' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read4' * RelationalOperator: '/Compare' * Sum: '/Subtract' * UnitDelay: '/t_start_delay_private ' */ rtb_Compare_ps1 = (rtb_Compare_jz && (rtDW.t_now - rtDW.t_start_delay_private_DSTATE_oy >= 3000U)); /* Product: '/Divide5' incorporates: * Constant: '/Constant6' * Constant: '/Constant7' * DataStoreRead: '/Data Store Read1' * Product: '/Divide4' */ rtb_Divide6 = (double)rtDW.ADC_Data_Model.Sensor_Rear_Duct3 / 4095.0 * 5.0; /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' */ rtb_Compare_n5 = (rtb_Divide6 < 0.15); /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' */ rtb_Compare_ku = (rtb_Divide6 > 4.9); /* Logic: '/Logical Operator5' */ rtb_Compare_n3 = (rtb_Compare_n5 || rtb_Compare_ku); /* Logic: '/Logical Operator6' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read4' * RelationalOperator: '/Compare' * Sum: '/Subtract' * UnitDelay: '/t_start_delay_private ' */ rtb_Compare_fi = (rtb_Compare_n3 && (rtDW.t_now - rtDW.t_start_delay_private_DSTATE_cd >= 3000U)); /* Product: '/Divide7' incorporates: * Constant: '/Constant10' * Constant: '/Constant9' * DataStoreRead: '/Data Store Read1' * Product: '/Divide6' */ rtb_Divide8 = (double)rtDW.ADC_Data_Model.Sensor_Rear_Duct4 / 4095.0 * 5.0; /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' */ rtb_Compare_al = (rtb_Divide8 < 0.15); /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' */ rtb_Compare_if = (rtb_Divide8 > 4.9); /* Logic: '/Logical Operator7' */ rtb_Compare_pjy = (rtb_Compare_al || rtb_Compare_if); /* Logic: '/Logical Operator8' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read4' * RelationalOperator: '/Compare' * Sum: '/Subtract' * UnitDelay: '/t_start_delay_private ' */ rtb_Compare_i1 = (rtb_Compare_pjy && (rtDW.t_now - rtDW.t_start_delay_private_DSTATE_or >= 3000U)); /* Switch: '/Switch' incorporates: * Constant: '/Constant2' * DataStoreRead: '/Data Store Read1' * DataStoreWrite: '/Data Store Write1' * Lookup_n-D: '/1-D Lookup Table4' * SignalConversion generated from: '/1-D Lookup Table4' */ if (rtb_Compare_hs) { rtb_Switch1_f = 230; } else { rtb_Switch1_f = look1_iu16bs16lu64n32ts16Ds32_binlcs (rtDW.ADC_Data_Model.Sensor_Rear_Duct1, rtConstP.pooled71, rtConstP.pooled70, 1023U); } /* End of Switch: '/Switch' */ /* Switch: '/Switch1' incorporates: * Constant: '/Constant5' * DataStoreRead: '/Data Store Read1' * DataStoreWrite: '/Data Store Write2' * Lookup_n-D: '/1-D Lookup Table4' * SignalConversion generated from: '/1-D Lookup Table4' */ if (rtb_Compare_ps1) { rtb_Switch3_no = 230; } else { rtb_Switch3_no = look1_iu16bs16lu64n32ts16Ds32_binlcs (rtDW.ADC_Data_Model.Sensor_Rear_Duct2, rtConstP.pooled71, rtConstP.pooled70, 1023U); } /* End of Switch: '/Switch1' */ /* Switch: '/Switch2' incorporates: * Constant: '/Constant8' * DataStoreRead: '/Data Store Read1' * DataStoreWrite: '/Data Store Write3' * Lookup_n-D: '/1-D Lookup Table4' * SignalConversion generated from: '/1-D Lookup Table4' */ if (rtb_Compare_fi) { rtb_Switch4_f5 = 230; } else { rtb_Switch4_f5 = look1_iu16bs16lu64n32ts16Ds32_binlcs (rtDW.ADC_Data_Model.Sensor_Rear_Duct3, rtConstP.pooled71, rtConstP.pooled70, 1023U); } /* End of Switch: '/Switch2' */ /* Switch: '/Switch3' incorporates: * Constant: '/Constant11' * DataStoreRead: '/Data Store Read1' * DataStoreWrite: '/Data Store Write4' * Lookup_n-D: '/1-D Lookup Table4' * SignalConversion generated from: '/1-D Lookup Table4' */ if (rtb_Compare_i1) { rtb_Switch5_l = 230; } else { rtb_Switch5_l = look1_iu16bs16lu64n32ts16Ds32_binlcs (rtDW.ADC_Data_Model.Sensor_Rear_Duct4, rtConstP.pooled71, rtConstP.pooled70, 1023U); } /* End of Switch: '/Switch3' */ /* DataStoreWrite: '/Data Store Write1' incorporates: * DataTypeConversion: '/Data Type Conversion' */ rtDW.dtc_state_error_model[29] = rtb_Compare_hs; /* Switch: '/Switch' incorporates: * DataTypeConversion: '/Data Type Conversion' * Switch: '/Switch1' */ if (rtb_Compare_hs) { /* DataStoreWrite: '/Data Store Write' incorporates: * DataTypeConversion: '/Data Type Conversion1' */ rtDW.dtc_state_error_model[30] = rtb_LogicalOperator_fc; /* DataStoreWrite: '/Data Store Write1' incorporates: * DataTypeConversion: '/Data Type Conversion2' */ rtDW.dtc_state_error_model[29] = rtb_Compare_jv; } else { /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.dtc_state_error_model[30] = 0U; } /* End of Switch: '/Switch' */ /* DataStoreWrite: '/Data Store Write1' incorporates: * DataTypeConversion: '/Data Type Conversion' */ rtDW.dtc_state_error_model[31] = rtb_Compare_ps1; /* Switch: '/Switch' incorporates: * DataTypeConversion: '/Data Type Conversion' * Switch: '/Switch1' */ if (rtb_Compare_ps1) { /* DataStoreWrite: '/Data Store Write' incorporates: * DataTypeConversion: '/Data Type Conversion1' */ rtDW.dtc_state_error_model[32] = rtb_Compare_o5; /* DataStoreWrite: '/Data Store Write1' incorporates: * DataTypeConversion: '/Data Type Conversion2' */ rtDW.dtc_state_error_model[31] = rtb_Compare_gy; } else { /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.dtc_state_error_model[32] = 0U; } /* End of Switch: '/Switch' */ /* DataStoreWrite: '/Data Store Write1' incorporates: * DataTypeConversion: '/Data Type Conversion' */ rtDW.dtc_state_error_model[33] = rtb_Compare_fi; /* Switch: '/Switch' incorporates: * DataTypeConversion: '/Data Type Conversion' * Switch: '/Switch1' */ if (rtb_Compare_fi) { /* DataStoreWrite: '/Data Store Write' incorporates: * DataTypeConversion: '/Data Type Conversion1' */ rtDW.dtc_state_error_model[34] = rtb_Compare_n5; /* DataStoreWrite: '/Data Store Write1' incorporates: * DataTypeConversion: '/Data Type Conversion2' */ rtDW.dtc_state_error_model[33] = rtb_Compare_ku; } else { /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.dtc_state_error_model[34] = 0U; } /* End of Switch: '/Switch' */ /* DataStoreWrite: '/Data Store Write1' incorporates: * DataTypeConversion: '/Data Type Conversion' */ rtDW.dtc_state_error_model[35] = rtb_Compare_i1; /* Switch: '/Switch' incorporates: * DataTypeConversion: '/Data Type Conversion' * Switch: '/Switch1' */ if (rtb_Compare_i1) { /* DataStoreWrite: '/Data Store Write' incorporates: * DataTypeConversion: '/Data Type Conversion1' */ rtDW.dtc_state_error_model[36] = rtb_Compare_al; /* DataStoreWrite: '/Data Store Write1' incorporates: * DataTypeConversion: '/Data Type Conversion2' */ rtDW.dtc_state_error_model[35] = rtb_Compare_if; } else { /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.dtc_state_error_model[36] = 0U; } /* End of Switch: '/Switch' */ /* MATLAB Function: '/Write ' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read1' * DataStoreWrite: '/Data Store Write1' */ /* : if(LOGGER) */ if (rtDW.LOGGER_ACP != 0.0) { /* : fprintf('Duct1_R = %d * 0.1 C %d V\n',Sensor, int16(V)); */ rtb_out_kez = rtDW.ADC_Data_Model.Sensor_Rear_Duct1; if (rtDW.ADC_Data_Model.Sensor_Rear_Duct1 > 32767) { rtb_out_kez = 32767U; } printf("Duct1_R = %d * 0.1 C %d V\n", rtb_Switch1_f, (int16_t)rtb_out_kez); fflush(stdout); } /* End of MATLAB Function: '/Write ' */ /* MATLAB Function: '/Write 1' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read1' * DataStoreWrite: '/Data Store Write2' */ /* : if(LOGGER) */ if (rtDW.LOGGER_ACP != 0.0) { /* : fprintf('Duct2_R = %d * 0.1 C %d V\n',Sensor, int16(V)); */ rtb_out_kez = rtDW.ADC_Data_Model.Sensor_Rear_Duct2; if (rtDW.ADC_Data_Model.Sensor_Rear_Duct2 > 32767) { rtb_out_kez = 32767U; } printf("Duct2_R = %d * 0.1 C %d V\n", rtb_Switch3_no, (int16_t)rtb_out_kez); fflush(stdout); } /* End of MATLAB Function: '/Write 1' */ /* MATLAB Function: '/Write 2' incorporates: * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read1' * DataStoreWrite: '/Data Store Write3' */ /* : if(LOGGER) */ if (rtDW.LOGGER_ACP != 0.0) { /* : fprintf('Duct3_R = %d * 0.1 C %d V\n',Sensor, int16(V)); */ rtb_out_kez = rtDW.ADC_Data_Model.Sensor_Rear_Duct3; if (rtDW.ADC_Data_Model.Sensor_Rear_Duct3 > 32767) { rtb_out_kez = 32767U; } printf("Duct3_R = %d * 0.1 C %d V\n", rtb_Switch4_f5, (int16_t)rtb_out_kez); fflush(stdout); } /* End of MATLAB Function: '/Write 2' */ /* MATLAB Function: '/Write 3' incorporates: * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read1' * DataStoreWrite: '/Data Store Write4' */ /* : if(LOGGER) */ if (rtDW.LOGGER_ACP != 0.0) { /* : fprintf('Duct4_R = %d * 0.1 C %d V\n',Sensor, int16(V)); */ rtb_out_kez = rtDW.ADC_Data_Model.Sensor_Rear_Duct4; if (rtDW.ADC_Data_Model.Sensor_Rear_Duct4 > 32767) { rtb_out_kez = 32767U; } printf("Duct4_R = %d * 0.1 C %d V\n", rtb_Switch5_l, (int16_t)rtb_out_kez); fflush(stdout); } /* End of MATLAB Function: '/Write 3' */ /* MATLAB Function: '/Write ERROR' incorporates: * DataStoreRead: '/Data Store Read' */ /* : if(LOGGER) */ if ((rtDW.LOGGER_ACP != 0.0) && rtb_Compare_hs) { /* : if(Err) */ /* : fprintf('CCU_Body_Err.CCU_DuctTempSenErrR_Stat = 0x1 (Failure), Sensor_Duct1_R = %f V\n',Sensor); */ printf("CCU_Body_Err.CCU_DuctTempSenErrR_Stat = 0x1 (Failure), Sensor_Duct1_R = %f V\n", rtb_I_od); fflush(stdout); } /* End of MATLAB Function: '/Write ERROR' */ /* MATLAB Function: '/Write ERROR1' incorporates: * DataStoreRead: '/Data Store Read1' */ /* : if(LOGGER) */ if ((rtDW.LOGGER_ACP != 0.0) && rtb_Compare_ps1) { /* : if(Err) */ /* : fprintf('CCU_Body_Err.CCU_DuctTempSenErrR_Stat = 0x1 (Failure), Sensor_Duct2_R = %f V\n',Sensor); */ printf("CCU_Body_Err.CCU_DuctTempSenErrR_Stat = 0x1 (Failure), Sensor_Duct2_R = %f V\n", rtb_Divide1_jg); fflush(stdout); } /* End of MATLAB Function: '/Write ERROR1' */ /* MATLAB Function: '/Write ERROR2' incorporates: * DataStoreRead: '/Data Store Read2' */ /* : if(LOGGER) */ if ((rtDW.LOGGER_ACP != 0.0) && rtb_Compare_fi) { /* : if(Err) */ /* : fprintf('CCU_Body_Err.CCU_DuctTempSenErrR_Stat = 0x1 (Failure), Sensor_Duct3_R = %f V\n',Sensor); */ printf("CCU_Body_Err.CCU_DuctTempSenErrR_Stat = 0x1 (Failure), Sensor_Duct3_R = %f V\n", rtb_Divide6); fflush(stdout); } /* End of MATLAB Function: '/Write ERROR2' */ /* MATLAB Function: '/Write ERROR3' incorporates: * DataStoreRead: '/Data Store Read3' */ /* : if(LOGGER) */ if ((rtDW.LOGGER_ACP != 0.0) && rtb_Compare_i1) { /* : if(Err) */ /* : fprintf('CCU_Body_Err.CCU_DuctTempSenErrR_Stat = 0x1 (Failure), Sensor_Duct4_R = %f V\n',Sensor); */ printf("CCU_Body_Err.CCU_DuctTempSenErrR_Stat = 0x1 (Failure), Sensor_Duct4_R = %f V\n", rtb_Divide8); fflush(stdout); } /* End of MATLAB Function: '/Write ERROR3' */ /* Switch: '/Switch' incorporates: * DataStoreRead: '/Data Store Read4' * Logic: '/Logical Operator3' * Logic: '/Logical Operator4' * UnitDelay: '/Cond_prev_private ' * UnitDelay: '/t_start_delay_private ' */ if (rtb_Compare_ff && (!rtDW.Cond_prev_private_DSTATE_l)) { rtDW.t_start_delay_private_DSTATE_o = rtDW.t_now; } /* End of Switch: '/Switch' */ /* Switch: '/Switch' incorporates: * DataStoreRead: '/Data Store Read4' * Logic: '/Logical Operator3' * Logic: '/Logical Operator4' * UnitDelay: '/Cond_prev_private ' * UnitDelay: '/t_start_delay_private ' */ if (rtb_Compare_jz && (!rtDW.Cond_prev_private_DSTATE_ja)) { rtDW.t_start_delay_private_DSTATE_oy = rtDW.t_now; } /* End of Switch: '/Switch' */ /* Switch: '/Switch' incorporates: * DataStoreRead: '/Data Store Read4' * Logic: '/Logical Operator3' * Logic: '/Logical Operator4' * UnitDelay: '/Cond_prev_private ' * UnitDelay: '/t_start_delay_private ' */ if (rtb_Compare_n3 && (!rtDW.Cond_prev_private_DSTATE_g)) { rtDW.t_start_delay_private_DSTATE_cd = rtDW.t_now; } /* End of Switch: '/Switch' */ /* Switch: '/Switch' incorporates: * DataStoreRead: '/Data Store Read4' * Logic: '/Logical Operator3' * Logic: '/Logical Operator4' * UnitDelay: '/Cond_prev_private ' * UnitDelay: '/t_start_delay_private ' */ if (rtb_Compare_pjy && (!rtDW.Cond_prev_private_DSTATE_cd)) { rtDW.t_start_delay_private_DSTATE_or = rtDW.t_now; } /* End of Switch: '/Switch' */ /* BusCreator: '/Bus Creator' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read3' * DataStoreWrite: '/Data Store Write' * DataStoreWrite: '/Data Store Write1' * DataStoreWrite: '/Data Store Write3' * DataStoreWrite: '/Data Store Write4' * DataStoreWrite: '/Data Store Write5' */ rtDW.dbgCAN_dbg_Sen_Incar_model.dbg_Sen_Incar_MultMsg_Idx = 0U; rtDW.dbgCAN_dbg_Sen_Incar_model.dbg_Sen_Incar_Raw_FL_ro = rtDW.Incar_FL; rtDW.dbgCAN_dbg_Sen_Incar_model.dbg_Sen_Incar_FL_ro = rtDW.Incar_FL; rtDW.dbgCAN_dbg_Sen_Incar_model.dbg_Sen_Incar_Raw_FR_ro = rtDW.Incar_FR; rtDW.dbgCAN_dbg_Sen_Incar_model.dbg_Sen_Incar_FR_ro = rtDW.Incar_FR; rtDW.dbgCAN_dbg_Sen_Incar_model.dbg_Sen_Incar_Raw_RL_ro = rtDW.Incar_RL; rtDW.dbgCAN_dbg_Sen_Incar_model.dbg_Sen_Incar_RL_ro = rtDW.Incar_RL; rtDW.dbgCAN_dbg_Sen_Incar_model.dbg_Sen_Incar_Raw_RR_ro = rtDW.Incar_RR; rtDW.dbgCAN_dbg_Sen_Incar_model.dbg_Sen_Incar_RR_ro = rtDW.Incar_RR; /* If: '/If' incorporates: * DataStoreRead: '/Data Store Read' * If: '/If1' * RelationalOperator: '/Relational Operator1' * UnitDelay: '/Unit Delay' */ if (rtDW.UnitDelay_DSTATE_cbr < -9000) { /* Outputs for IfAction SubSystem: '/Инициализация FL' incorporates: * ActionPort: '/Action Port' */ /* DataTypeConversion: '/Data Type Conversion' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtb_I_od = rtDW.Incar_FL; /* End of Outputs for SubSystem: '/Инициализация FL' */ } else { /* Outputs for IfAction SubSystem: '/Фильтрация FL температуры' incorporates: * ActionPort: '/Action Port' */ if (rtDW.KEEP_RISING_FL_UNTIL_LIMIT > 0.0) { /* Outputs for IfAction SubSystem: '/включен ускоренный режим' incorporates: * ActionPort: '/Action Port' */ /* If: '/If1' incorporates: * Abs: '/ABS(AMBraw - AMB)' * DataStoreRead: '/Read Amb' * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write1' * If: '/If' * MATLAB Function: '/g_ausINCARRATE_RISING_DIFF_F[8]' * RelationalOperator: '/Relational Operator' * Sum: '/Add' */ g_ausINCARRATE_RISING_DIFF_F8(&rtb_Saturation2_a); if (fabs((double)rtDW.Incar_FL - rtDW.Temp_FL_store) <= rtb_Saturation2_a) { /* Outputs for IfAction SubSystem: '/Отключаем ускоренный режим' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.KEEP_RISING_FL_UNTIL_LIMIT = 0.0; /* SignalConversion generated from: '/out' incorporates: * DataStoreRead: '/Data Store Read' * MATLAB Function: '/обычное повышение темп.' */ u_h(rtDW.LEVEL, &rtb_Saturation2_a); /* End of Outputs for SubSystem: '/Отключаем ускоренный режим' */ } else { /* Outputs for IfAction SubSystem: '/Продолжаем в ускоренном' incorporates: * ActionPort: '/Action Port' */ u_lz(rtDW.LEVEL, &rtb_Saturation2_a); /* End of Outputs for SubSystem: '/Продолжаем в ускоренном' */ } /* End of Outputs for SubSystem: '/включен ускоренный режим' */ } else { /* Outputs for IfAction SubSystem: '/обычный режим' incorporates: * ActionPort: '/Action Port' */ /* If: '/If1' incorporates: * Abs: '/ABS(AMBraw - AMB)' * DataStoreRead: '/Read Amb' * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write1' * If: '/If' * MATLAB Function: '/INCARRATE_RISING_DIFF_F[7]' * RelationalOperator: '/Relational Operator' * Sum: '/Add' */ INCARRATE_RISING_DIFF_F7(&rtb_Saturation2_a); if (fabs((double)rtDW.Incar_FL - rtDW.Temp_FL_store) > rtb_Saturation2_a) { /* Outputs for IfAction SubSystem: '/включаем ускоренный режим' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.KEEP_RISING_FL_UNTIL_LIMIT = 1.0; /* SignalConversion generated from: '/out' incorporates: * DataStoreRead: '/Data Store Read' * MATLAB Function: '/ускоренное повышение темп.' */ u_k(rtDW.LEVEL, &rtb_Saturation2_a); /* End of Outputs for SubSystem: '/включаем ускоренный режим' */ } else { /* Outputs for IfAction SubSystem: '/обычный режим повышения' incorporates: * ActionPort: '/Action Port' */ u_f(rtDW.LEVEL, &rtb_Saturation2_a); /* End of Outputs for SubSystem: '/обычный режим повышения' */ } /* End of Outputs for SubSystem: '/обычный режим' */ } /* If: '/If1' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write1' */ if (rtDW.KEEP_FALLING_FL_UNTIL_LIMIT > 0.0) { /* Outputs for IfAction SubSystem: '/включен ускоренный режим' incorporates: * ActionPort: '/Action Port' */ u_c(rtDW.Incar_FL, rtDW.LEVEL, &rtb_out_kez, &rtDW.KEEP_FALLING_FL_UNTIL_LIMIT, &rtDW.Temp_FL_store); /* End of Outputs for SubSystem: '/включен ускоренный режим' */ } else { /* Outputs for IfAction SubSystem: '/обычный режим' incorporates: * ActionPort: '/Action Port' */ u_l(rtDW.Incar_FL, rtDW.LEVEL, &rtb_out_kez, &rtDW.KEEP_FALLING_FL_UNTIL_LIMIT, &rtDW.Temp_FL_store); /* End of Outputs for SubSystem: '/обычный режим' */ } /* End of If: '/If1' */ /* Switch: '/Switch1' incorporates: * Abs: '/Abs' * Constant: '/epsilon' * DataStoreRead: '/Read Amb' * DataStoreWrite: '/Data Store Write1' * RelationalOperator: '/AMBraw > AMB' * RelationalOperator: '/Relational Operator' * Sum: '/Add' * Switch: '/Switch' */ if (fabs((double)rtDW.Incar_FL - rtDW.Temp_FL_store) <= 0.01) { /* SignalConversion generated from: '/temp_out' */ rtb_I_od = rtDW.Temp_FL_store; } else { if (rtDW.Incar_FL > rtDW.Temp_FL_store) { /* Switch: '/Switch' incorporates: * DataTypeConversion: '/Data Type Conversion' */ rtb_Switch2_nb = (int16_t)rtb_Saturation2_a; } else { /* Switch: '/Switch' incorporates: * DataTypeConversion: '/Data Type Conversion' * UnaryMinus: '/Unary Minus' */ rtb_Switch2_nb = (int16_t)-(int16_t)rtb_out_kez; } /* SignalConversion generated from: '/temp_out' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read12' * Product: '/Divide' * Product: '/Product' * Sum: '/Add' * Sum: '/Subtract' * Switch: '/Switch' * UnitDelay: '/Unit Delay' */ rtb_I_od = (double)(rtDW.t_now - rtDW.UnitDelay_DSTATE_o) / 60000.0 * (double)rtb_Switch2_nb + rtDW.Temp_FL_store; } /* End of Switch: '/Switch1' */ /* Update for UnitDelay: '/Unit Delay' incorporates: * DataStoreRead: '/Data Store Read12' */ rtDW.UnitDelay_DSTATE_o = rtDW.t_now; /* End of Outputs for SubSystem: '/Фильтрация FL температуры' */ } /* End of If: '/If' */ /* DataStoreWrite: '/Write new FL' */ rtDW.Temp_FL_store = rtb_I_od; /* If: '/If' incorporates: * DataStoreRead: '/Data Store Read' * If: '/If1' * RelationalOperator: '/Relational Operator1' * UnitDelay: '/Unit Delay' */ if (rtDW.UnitDelay_DSTATE_j < -9000) { /* Outputs for IfAction SubSystem: '/Инициализация FR' incorporates: * ActionPort: '/Action Port' */ /* DataTypeConversion: '/Data Type Conversion' incorporates: * DataStoreWrite: '/Data Store Write3' */ rtb_I_od = rtDW.Incar_FR; /* End of Outputs for SubSystem: '/Инициализация FR' */ } else { /* Outputs for IfAction SubSystem: '/Фильтрация FR температуры' incorporates: * ActionPort: '/Action Port' */ if (rtDW.KEEP_RISING_FR_UNTIL_LIMIT > 0.0) { /* Outputs for IfAction SubSystem: '/включен ускоренный режим' incorporates: * ActionPort: '/Action Port' */ /* If: '/If1' incorporates: * Abs: '/ABS(AMBraw - AMB)' * DataStoreRead: '/Read Amb' * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write3' * If: '/If' * MATLAB Function: '/g_ausINCARRATE_RISING_DIFF_F[8]' * RelationalOperator: '/Relational Operator' * Sum: '/Add' */ g_ausINCARRATE_RISING_DIFF_F8(&rtb_Saturation2_a); if (fabs((double)rtDW.Incar_FR - rtDW.Temp_FR_store) <= rtb_Saturation2_a) { /* Outputs for IfAction SubSystem: '/Отключаем ускоренный режим' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.KEEP_RISING_FR_UNTIL_LIMIT = 0.0; /* SignalConversion generated from: '/out' incorporates: * DataStoreRead: '/Data Store Read' * MATLAB Function: '/обычное повышение темп.' */ u_h(rtDW.LEVEL, &rtb_Saturation2_a); /* End of Outputs for SubSystem: '/Отключаем ускоренный режим' */ } else { /* Outputs for IfAction SubSystem: '/Продолжаем в ускоренном' incorporates: * ActionPort: '/Action Port' */ u_lz(rtDW.LEVEL, &rtb_Saturation2_a); /* End of Outputs for SubSystem: '/Продолжаем в ускоренном' */ } /* End of Outputs for SubSystem: '/включен ускоренный режим' */ } else { /* Outputs for IfAction SubSystem: '/обычный режим' incorporates: * ActionPort: '/Action Port' */ /* If: '/If1' incorporates: * Abs: '/ABS(AMBraw - AMB)' * DataStoreRead: '/Read Amb' * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write3' * If: '/If' * MATLAB Function: '/INCARRATE_RISING_DIFF_F[7]' * RelationalOperator: '/Relational Operator' * Sum: '/Add' */ INCARRATE_RISING_DIFF_F7(&rtb_Saturation2_a); if (fabs((double)rtDW.Incar_FR - rtDW.Temp_FR_store) > rtb_Saturation2_a) { /* Outputs for IfAction SubSystem: '/включаем ускоренный режим' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.KEEP_RISING_FR_UNTIL_LIMIT = 1.0; /* SignalConversion generated from: '/out' incorporates: * DataStoreRead: '/Data Store Read' * MATLAB Function: '/ускоренное повышение темп.' */ u_k(rtDW.LEVEL, &rtb_Saturation2_a); /* End of Outputs for SubSystem: '/включаем ускоренный режим' */ } else { /* Outputs for IfAction SubSystem: '/обычный режим повышения' incorporates: * ActionPort: '/Action Port' */ u_f(rtDW.LEVEL, &rtb_Saturation2_a); /* End of Outputs for SubSystem: '/обычный режим повышения' */ } /* End of Outputs for SubSystem: '/обычный режим' */ } /* If: '/If1' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write3' */ if (rtDW.KEEP_FALLING_FL_UNTIL_LIMIT > 0.0) { /* Outputs for IfAction SubSystem: '/включен ускоренный режим' incorporates: * ActionPort: '/Action Port' */ u_c(rtDW.Incar_FR, rtDW.LEVEL, &rtb_out_kez, &rtDW.KEEP_FALLING_FL_UNTIL_LIMIT, &rtDW.Temp_FL_store); /* End of Outputs for SubSystem: '/включен ускоренный режим' */ } else { /* Outputs for IfAction SubSystem: '/обычный режим' incorporates: * ActionPort: '/Action Port' */ u_l(rtDW.Incar_FR, rtDW.LEVEL, &rtb_out_kez, &rtDW.KEEP_FALLING_FL_UNTIL_LIMIT, &rtDW.Temp_FL_store); /* End of Outputs for SubSystem: '/обычный режим' */ } /* End of If: '/If1' */ /* Switch: '/Switch1' incorporates: * Abs: '/Abs' * Constant: '/epsilon' * DataStoreRead: '/Read Amb' * DataStoreWrite: '/Data Store Write3' * RelationalOperator: '/AMBraw > AMB' * RelationalOperator: '/Relational Operator' * Sum: '/Add' * Switch: '/Switch' */ if (fabs((double)rtDW.Incar_FR - rtDW.Temp_FR_store) <= 0.01) { /* SignalConversion generated from: '/temp_out' */ rtb_I_od = rtDW.Temp_FR_store; } else { if (rtDW.Incar_FR > rtDW.Temp_FR_store) { /* Switch: '/Switch' incorporates: * DataTypeConversion: '/Data Type Conversion' */ rtb_Switch2_nb = (int16_t)rtb_Saturation2_a; } else { /* Switch: '/Switch' incorporates: * DataTypeConversion: '/Data Type Conversion' * UnaryMinus: '/Unary Minus' */ rtb_Switch2_nb = (int16_t)-(int16_t)rtb_out_kez; } /* SignalConversion generated from: '/temp_out' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read12' * Product: '/Divide' * Product: '/Product' * Sum: '/Add' * Sum: '/Subtract' * Switch: '/Switch' * UnitDelay: '/Unit Delay' */ rtb_I_od = (double)(rtDW.t_now - rtDW.UnitDelay_DSTATE_cr) / 60000.0 * (double)rtb_Switch2_nb + rtDW.Temp_FR_store; } /* End of Switch: '/Switch1' */ /* Update for UnitDelay: '/Unit Delay' incorporates: * DataStoreRead: '/Data Store Read12' */ rtDW.UnitDelay_DSTATE_cr = rtDW.t_now; /* End of Outputs for SubSystem: '/Фильтрация FR температуры' */ } /* End of If: '/If' */ /* DataStoreWrite: '/Write new FR' */ rtDW.Temp_FR_store = rtb_I_od; /* If: '/If' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write4' * If: '/If1' * RelationalOperator: '/Relational Operator1' * UnitDelay: '/Unit Delay' */ if (rtDW.UnitDelay_DSTATE_cs < -9000) { /* Outputs for IfAction SubSystem: '/Инициализация RL' incorporates: * ActionPort: '/Action Port' */ RL(rtDW.Incar_RL, &rtb_I_od); /* End of Outputs for SubSystem: '/Инициализация RL' */ } else { /* Outputs for IfAction SubSystem: '/Фильтрация RL температуры' incorporates: * ActionPort: '/Action Port' */ if (rtDW.KEEP_RISING_RL_UNTIL_LIMIT > 0.0) { /* Outputs for IfAction SubSystem: '/включен ускоренный режим' incorporates: * ActionPort: '/Action Port' */ /* If: '/If1' incorporates: * Abs: '/ABS(AMBraw - AMB)' * DataStoreRead: '/Read Amb' * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write4' * If: '/If' * MATLAB Function: '/g_ausINCARRATE_RISING_DIFF_R[8]' * RelationalOperator: '/Relational Operator' * Sum: '/Add' */ g_ausINCARRATE_RISING_DIFF_R8(&rtb_Saturation2_a); if (fabs((double)rtDW.Incar_RL - rtDW.Temp_RL_store) <= rtb_Saturation2_a) { /* Outputs for IfAction SubSystem: '/Отключаем ускоренный режим' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.KEEP_RISING_RL_UNTIL_LIMIT = 0.0; /* SignalConversion generated from: '/out' incorporates: * DataStoreRead: '/Data Store Read' * MATLAB Function: '/обычное повышение темп.' */ u_m(rtDW.LEVEL, &rtb_Saturation2_a); /* End of Outputs for SubSystem: '/Отключаем ускоренный режим' */ } else { /* Outputs for IfAction SubSystem: '/Продолжаем в ускоренном' incorporates: * ActionPort: '/Action Port' */ u_gq(rtDW.LEVEL, &rtb_Saturation2_a); /* End of Outputs for SubSystem: '/Продолжаем в ускоренном' */ } /* End of Outputs for SubSystem: '/включен ускоренный режим' */ } else { /* Outputs for IfAction SubSystem: '/обычный режим' incorporates: * ActionPort: '/Action Port' */ /* If: '/If1' incorporates: * Abs: '/ABS(AMBraw - AMB)' * DataStoreRead: '/Read Amb' * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write4' * If: '/If' * MATLAB Function: '/INCARRATE_RISING_DIFF_R[7]' * RelationalOperator: '/Relational Operator' * Sum: '/Add' */ INCARRATE_RISING_DIFF_R7(&rtb_Saturation2_a); if (fabs((double)rtDW.Incar_RL - rtDW.Temp_RL_store) > rtb_Saturation2_a) { /* Outputs for IfAction SubSystem: '/включаем ускоренный режим' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.KEEP_RISING_RL_UNTIL_LIMIT = 1.0; /* SignalConversion generated from: '/out' incorporates: * DataStoreRead: '/Data Store Read' * MATLAB Function: '/ускоренное повышение темп.' */ u_o(rtDW.LEVEL, &rtb_Saturation2_a); /* End of Outputs for SubSystem: '/включаем ускоренный режим' */ } else { /* Outputs for IfAction SubSystem: '/обычный режим повышения' incorporates: * ActionPort: '/Action Port' */ u_b3(rtDW.LEVEL, &rtb_Saturation2_a); /* End of Outputs for SubSystem: '/обычный режим повышения' */ } /* End of Outputs for SubSystem: '/обычный режим' */ } /* If: '/If1' incorporates: * DataStoreRead: '/Data Store Read' */ if (rtDW.KEEP_FALLING_RL_UNTIL_LIMIT > 0.0) { /* Outputs for IfAction SubSystem: '/включен ускоренный режим' incorporates: * ActionPort: '/Action Port' */ /* MATLAB Function: '/AMBRATE_RISING_DIFF[8]' */ AMBRATE_RISING_DIFF8(&rtb_out_kez); /* If: '/If' incorporates: * Abs: '/ABS(AMBraw - AMB)' * DataStoreRead: '/Read temp' * DataStoreWrite: '/Data Store Write4' * RelationalOperator: '/Relational Operator' * Sum: '/Add' */ if (fabs((double)rtDW.Incar_RL - rtDW.Temp_RL_store) <= rtb_out_kez) { /* Outputs for IfAction SubSystem: '/Отключаем ускоренный режим' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.KEEP_FALLING_RL_UNTIL_LIMIT = 0.0; /* SignalConversion generated from: '/out' incorporates: * DataStoreRead: '/Data Store Read' * MATLAB Function: '/обычное понижение темп.' */ u_kk(rtDW.LEVEL, &rtb_out_kez); /* End of Outputs for SubSystem: '/Отключаем ускоренный режим' */ } else { /* Outputs for IfAction SubSystem: '/Продолжаем в ускоренном' incorporates: * ActionPort: '/Action Port' */ /* SignalConversion generated from: '/out' incorporates: * DataStoreRead: '/Data Store Read' */ u_hr(rtDW.LEVEL, &rtb_out_kez); /* End of Outputs for SubSystem: '/Продолжаем в ускоренном' */ } /* End of If: '/If' */ /* End of Outputs for SubSystem: '/включен ускоренный режим' */ } else { /* Outputs for IfAction SubSystem: '/обычный режим' incorporates: * ActionPort: '/Action Port' */ /* MATLAB Function: '/AMBRATE_FALLING_DIFF[7]' */ AMBRATE_FALLING_DIFF7(&rtb_out_kez); /* If: '/If' incorporates: * Abs: '/ABS(AMBraw - AMB)' * DataStoreRead: '/Read Amb' * DataStoreWrite: '/Data Store Write4' * RelationalOperator: '/Relational Operator' * Sum: '/Add' */ if (fabs((double)rtDW.Incar_RL - rtDW.Temp_RL_store) > rtb_out_kez) { /* Outputs for IfAction SubSystem: '/включаем ускоренный режим' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.KEEP_FALLING_RL_UNTIL_LIMIT = 1.0; /* SignalConversion generated from: '/rise per minute' incorporates: * DataStoreRead: '/Data Store Read' * MATLAB Function: '/ускоренное повышение темп.' */ u_b(rtDW.LEVEL, &rtb_out_kez); /* End of Outputs for SubSystem: '/включаем ускоренный режим' */ } else { /* Outputs for IfAction SubSystem: '/обычный режим повышения' incorporates: * ActionPort: '/Action Port' */ /* SignalConversion generated from: '/rise per minute' incorporates: * DataStoreRead: '/Data Store Read' */ u_g(rtDW.LEVEL, &rtb_out_kez); /* End of Outputs for SubSystem: '/обычный режим повышения' */ } /* End of If: '/If' */ /* End of Outputs for SubSystem: '/обычный режим' */ } /* End of If: '/If1' */ /* Switch: '/Switch1' incorporates: * Abs: '/Abs' * Constant: '/epsilon' * DataStoreRead: '/Read Amb' * DataStoreWrite: '/Data Store Write4' * RelationalOperator: '/AMBraw > AMB' * RelationalOperator: '/Relational Operator' * Sum: '/Add' * Switch: '/Switch' */ if (fabs((double)rtDW.Incar_RL - rtDW.Temp_RL_store) <= 0.01) { /* SignalConversion generated from: '/temp_out' */ rtb_I_od = rtDW.Temp_RL_store; } else { if (rtDW.Incar_RL > rtDW.Temp_RL_store) { /* Switch: '/Switch' incorporates: * DataTypeConversion: '/Data Type Conversion' */ rtb_Switch2_nb = (int16_t)rtb_Saturation2_a; } else { /* Switch: '/Switch' incorporates: * DataTypeConversion: '/Data Type Conversion' * UnaryMinus: '/Unary Minus' */ rtb_Switch2_nb = (int16_t)-(int16_t)rtb_out_kez; } /* SignalConversion generated from: '/temp_out' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read12' * Product: '/Divide' * Product: '/Product' * Sum: '/Add' * Sum: '/Subtract' * Switch: '/Switch' * UnitDelay: '/Unit Delay' */ rtb_I_od = (double)(rtDW.t_now - rtDW.UnitDelay_DSTATE_lf) / 60000.0 * (double)rtb_Switch2_nb + rtDW.Temp_RL_store; } /* End of Switch: '/Switch1' */ /* Update for UnitDelay: '/Unit Delay' incorporates: * DataStoreRead: '/Data Store Read12' */ rtDW.UnitDelay_DSTATE_lf = rtDW.t_now; /* End of Outputs for SubSystem: '/Фильтрация RL температуры' */ } /* End of If: '/If' */ /* DataStoreWrite: '/Write new FL' */ rtDW.Temp_RL_store = rtb_I_od; /* If: '/If' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write5' * If: '/If1' * RelationalOperator: '/Relational Operator1' * UnitDelay: '/Unit Delay' */ if (rtDW.UnitDelay_DSTATE_k2 < -9000) { /* Outputs for IfAction SubSystem: '/Инициализация RR' incorporates: * ActionPort: '/Action Port' */ RL(rtDW.Incar_RR, &rtb_I_od); /* End of Outputs for SubSystem: '/Инициализация RR' */ } else { /* Outputs for IfAction SubSystem: '/Фильтрация RR температуры' incorporates: * ActionPort: '/Action Port' */ if (rtDW.KEEP_RISING_RR_UNTIL_LIMIT > 0.0) { /* Outputs for IfAction SubSystem: '/включен ускоренный режим' incorporates: * ActionPort: '/Action Port' */ /* If: '/If1' incorporates: * Abs: '/ABS(AMBraw - AMB)' * DataStoreRead: '/Read Amb' * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write5' * If: '/If' * MATLAB Function: '/g_ausINCARRATE_RISING_DIFF_R[8]' * RelationalOperator: '/Relational Operator' * Sum: '/Add' */ g_ausINCARRATE_RISING_DIFF_R8(&rtb_Saturation2_a); if (fabs((double)rtDW.Incar_RR - rtDW.Temp_RR_store) <= rtb_Saturation2_a) { /* Outputs for IfAction SubSystem: '/Отключаем ускоренный режим' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.KEEP_RISING_RR_UNTIL_LIMIT = 0.0; /* SignalConversion generated from: '/out' incorporates: * DataStoreRead: '/Data Store Read' * MATLAB Function: '/обычное повышение темп.' */ u_m(rtDW.LEVEL, &rtb_Saturation2_a); /* End of Outputs for SubSystem: '/Отключаем ускоренный режим' */ } else { /* Outputs for IfAction SubSystem: '/Продолжаем в ускоренном' incorporates: * ActionPort: '/Action Port' */ u_gq(rtDW.LEVEL, &rtb_Saturation2_a); /* End of Outputs for SubSystem: '/Продолжаем в ускоренном' */ } /* End of Outputs for SubSystem: '/включен ускоренный режим' */ } else { /* Outputs for IfAction SubSystem: '/обычный режим' incorporates: * ActionPort: '/Action Port' */ /* If: '/If1' incorporates: * Abs: '/ABS(AMBraw - AMB)' * DataStoreRead: '/Read Amb' * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write5' * If: '/If' * MATLAB Function: '/INCARRATE_RISING_DIFF_R[7]' * RelationalOperator: '/Relational Operator' * Sum: '/Add' */ INCARRATE_RISING_DIFF_R7(&rtb_Saturation2_a); if (fabs((double)rtDW.Incar_RR - rtDW.Temp_RR_store) > rtb_Saturation2_a) { /* Outputs for IfAction SubSystem: '/включаем ускоренный режим' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.KEEP_RISING_RR_UNTIL_LIMIT = 1.0; /* SignalConversion generated from: '/out' incorporates: * DataStoreRead: '/Data Store Read' * MATLAB Function: '/ускоренное повышение темп.' */ u_o(rtDW.LEVEL, &rtb_Saturation2_a); /* End of Outputs for SubSystem: '/включаем ускоренный режим' */ } else { /* Outputs for IfAction SubSystem: '/обычный режим повышения' incorporates: * ActionPort: '/Action Port' */ u_b3(rtDW.LEVEL, &rtb_Saturation2_a); /* End of Outputs for SubSystem: '/обычный режим повышения' */ } /* End of Outputs for SubSystem: '/обычный режим' */ } /* If: '/If1' incorporates: * DataStoreRead: '/Data Store Read' */ if (rtDW.KEEP_FALLING_RR_UNTIL_LIMIT > 0.0) { /* Outputs for IfAction SubSystem: '/включен ускоренный режим' incorporates: * ActionPort: '/Action Port' */ /* MATLAB Function: '/AMBRATE_RISING_DIFF[8]' */ AMBRATE_RISING_DIFF8(&rtb_out_kez); /* If: '/If' incorporates: * Abs: '/ABS(AMBraw - AMB)' * DataStoreRead: '/Read temp' * DataStoreWrite: '/Data Store Write5' * RelationalOperator: '/Relational Operator' * Sum: '/Add' */ if (fabs((double)rtDW.Incar_RR - rtDW.Temp_RR_store) <= rtb_out_kez) { /* Outputs for IfAction SubSystem: '/Отключаем ускоренный режим' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.KEEP_FALLING_RR_UNTIL_LIMIT = 0.0; /* SignalConversion generated from: '/out' incorporates: * DataStoreRead: '/Data Store Read' * MATLAB Function: '/обычное понижение темп.' */ u_kk(rtDW.LEVEL, &rtb_out_kez); /* End of Outputs for SubSystem: '/Отключаем ускоренный режим' */ } else { /* Outputs for IfAction SubSystem: '/Продолжаем в ускоренном' incorporates: * ActionPort: '/Action Port' */ /* SignalConversion generated from: '/out' incorporates: * DataStoreRead: '/Data Store Read' */ u_hr(rtDW.LEVEL, &rtb_out_kez); /* End of Outputs for SubSystem: '/Продолжаем в ускоренном' */ } /* End of If: '/If' */ /* End of Outputs for SubSystem: '/включен ускоренный режим' */ } else { /* Outputs for IfAction SubSystem: '/обычный режим' incorporates: * ActionPort: '/Action Port' */ /* MATLAB Function: '/AMBRATE_FALLING_DIFF[7]' */ AMBRATE_FALLING_DIFF7(&rtb_out_kez); /* If: '/If' incorporates: * Abs: '/ABS(AMBraw - AMB)' * DataStoreRead: '/Read Amb' * DataStoreWrite: '/Data Store Write5' * RelationalOperator: '/Relational Operator' * Sum: '/Add' */ if (fabs((double)rtDW.Incar_RR - rtDW.Temp_RR_store) > rtb_out_kez) { /* Outputs for IfAction SubSystem: '/включаем ускоренный режим' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.KEEP_FALLING_RR_UNTIL_LIMIT = 1.0; /* SignalConversion generated from: '/rise per minute' incorporates: * DataStoreRead: '/Data Store Read' * MATLAB Function: '/ускоренное повышение темп.' */ u_b(rtDW.LEVEL, &rtb_out_kez); /* End of Outputs for SubSystem: '/включаем ускоренный режим' */ } else { /* Outputs for IfAction SubSystem: '/обычный режим повышения' incorporates: * ActionPort: '/Action Port' */ /* SignalConversion generated from: '/rise per minute' incorporates: * DataStoreRead: '/Data Store Read' */ u_g(rtDW.LEVEL, &rtb_out_kez); /* End of Outputs for SubSystem: '/обычный режим повышения' */ } /* End of If: '/If' */ /* End of Outputs for SubSystem: '/обычный режим' */ } /* End of If: '/If1' */ /* Switch: '/Switch1' incorporates: * Abs: '/Abs' * Constant: '/epsilon' * DataStoreRead: '/Read Amb' * DataStoreWrite: '/Data Store Write5' * RelationalOperator: '/AMBraw > AMB' * RelationalOperator: '/Relational Operator' * Sum: '/Add' * Switch: '/Switch' */ if (fabs((double)rtDW.Incar_RR - rtDW.Temp_RR_store) <= 0.01) { /* SignalConversion generated from: '/temp_out' */ rtb_I_od = rtDW.Temp_RR_store; } else { if (rtDW.Incar_RR > rtDW.Temp_RR_store) { /* Switch: '/Switch' incorporates: * DataTypeConversion: '/Data Type Conversion' */ rtb_Switch2_nb = (int16_t)rtb_Saturation2_a; } else { /* Switch: '/Switch' incorporates: * DataTypeConversion: '/Data Type Conversion' * UnaryMinus: '/Unary Minus' */ rtb_Switch2_nb = (int16_t)-(int16_t)rtb_out_kez; } /* SignalConversion generated from: '/temp_out' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read12' * Product: '/Divide' * Product: '/Product' * Sum: '/Add' * Sum: '/Subtract' * Switch: '/Switch' * UnitDelay: '/Unit Delay' */ rtb_I_od = (double)(rtDW.t_now - rtDW.UnitDelay_DSTATE_m) / 60000.0 * (double)rtb_Switch2_nb + rtDW.Temp_RR_store; } /* End of Switch: '/Switch1' */ /* Update for UnitDelay: '/Unit Delay' incorporates: * DataStoreRead: '/Data Store Read12' */ rtDW.UnitDelay_DSTATE_m = rtDW.t_now; /* End of Outputs for SubSystem: '/Фильтрация RR температуры' */ } /* End of If: '/If' */ /* DataStoreWrite: '/Write new FL' */ rtDW.Temp_RR_store = rtb_I_od; /* DataStoreWrite: '/Data Store Write1' incorporates: * DataTypeConversion: '/Data Type Conversion' */ rtDW.dtc_state_error_model[2] = rtb_err; /* Switch: '/Switch' incorporates: * DataTypeConversion: '/Data Type Conversion' * Switch: '/Switch1' */ if (rtb_err) { /* DataStoreWrite: '/Data Store Write' incorporates: * DataTypeConversion: '/Data Type Conversion1' */ rtDW.dtc_state_error_model[3] = rtb_Compare_h2; /* DataStoreWrite: '/Data Store Write1' incorporates: * DataTypeConversion: '/Data Type Conversion2' */ rtDW.dtc_state_error_model[2] = rtb_Compare_bu; } else { /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.dtc_state_error_model[3] = 0U; } /* End of Switch: '/Switch' */ /* MATLAB Function: '/Write ERROR' incorporates: * DataStoreRead: '/Data Store Read' */ /* : if(LOGGER) */ if ((rtDW.LOGGER_ACP != 0.0) && rtb_err) { /* : if(IncarFLErr) */ /* : fprintf('CCU_Body_Err.CCU_IncarTempErrF_Stat = 0x1 (Failure), Sensor_Incar_Temp_FL = %f V\n',Sensor_Incar_Temp_FL); */ printf("CCU_Body_Err.CCU_IncarTempErrF_Stat = 0x1 (Failure), Sensor_Incar_Temp_FL = %f V\n", index_start); fflush(stdout); } /* End of MATLAB Function: '/Write ERROR' */ /* DataStoreWrite: '/Data Store Write1' incorporates: * DataTypeConversion: '/Data Type Conversion' */ rtDW.dtc_state_error_model[4] = rtb_LogicalOperator6; /* Switch: '/Switch' incorporates: * DataTypeConversion: '/Data Type Conversion' * Switch: '/Switch1' */ if (rtb_LogicalOperator6) { /* DataStoreWrite: '/Data Store Write' incorporates: * DataTypeConversion: '/Data Type Conversion1' */ rtDW.dtc_state_error_model[5] = rtb_Compare_ht; /* DataStoreWrite: '/Data Store Write1' incorporates: * DataTypeConversion: '/Data Type Conversion2' */ rtDW.dtc_state_error_model[4] = rtb_Compare_lq; } else { /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.dtc_state_error_model[5] = 0U; } /* End of Switch: '/Switch' */ /* MATLAB Function: '/Write ERROR2' incorporates: * DataStoreRead: '/Data Store Read2' */ /* : if(LOGGER) */ if ((rtDW.LOGGER_ACP != 0.0) && rtb_LogicalOperator6) { /* : if(IncarRLErr) */ /* : fprintf('CCU_Body_Err.CCU_IncarTempErrR_Stat = 0x1 (Failure), Sensor_Incar_Temp_FR = %f V\n',Sensor_Incar_Temp_FR); */ printf("CCU_Body_Err.CCU_IncarTempErrR_Stat = 0x1 (Failure), Sensor_Incar_Temp_FR = %f V\n", rtb_Divide5); fflush(stdout); } /* End of MATLAB Function: '/Write ERROR2' */ /* Switch: '/Switch' incorporates: * DataStoreRead: '/Data Store Read4' * Logic: '/Logical Operator3' * Logic: '/Logical Operator4' * UnitDelay: '/Cond_prev_private ' * UnitDelay: '/t_start_delay_private ' */ if (rtb_AND2_b && (!rtDW.Cond_prev_private_DSTATE_d)) { rtDW.t_start_delay_private_DSTATE_i = rtDW.t_now; } /* End of Switch: '/Switch' */ /* DataStoreWrite: '/Data Store Write1' incorporates: * DataTypeConversion: '/Data Type Conversion' */ rtDW.dtc_state_error_model[6] = rtb_LogicalOperator3; /* Switch: '/Switch' incorporates: * DataTypeConversion: '/Data Type Conversion' * Switch: '/Switch1' */ if (rtb_LogicalOperator3) { /* DataStoreWrite: '/Data Store Write' incorporates: * DataTypeConversion: '/Data Type Conversion1' */ rtDW.dtc_state_error_model[7] = rtb_Compare_jv1; /* DataStoreWrite: '/Data Store Write1' incorporates: * DataTypeConversion: '/Data Type Conversion2' */ rtDW.dtc_state_error_model[6] = rtb_Compare_jve; } else { /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.dtc_state_error_model[7] = 0U; } /* End of Switch: '/Switch' */ /* MATLAB Function: '/Write ERROR1' incorporates: * DataStoreRead: '/Data Store Read1' */ /* : if(LOGGER) */ if ((rtDW.LOGGER_ACP != 0.0) && rtb_LogicalOperator3) { /* : if(IncarRLErr) */ /* : fprintf('CCU_Body_Err.CCU_IncarTempErrF_Stat = 0x1 (Failure), Sensor_Incar_Temp_RL = %f V\n',Sensor_Incar_Temp_RL); */ printf("CCU_Body_Err.CCU_IncarTempErrF_Stat = 0x1 (Failure), Sensor_Incar_Temp_RL = %f V\n", rtb_Divide3); fflush(stdout); } /* End of MATLAB Function: '/Write ERROR1' */ /* Switch: '/Switch' incorporates: * DataStoreRead: '/Data Store Read4' * Logic: '/Logical Operator3' * Logic: '/Logical Operator4' * UnitDelay: '/Cond_prev_private ' * UnitDelay: '/t_start_delay_private ' */ if (rtb_FailCond_iw && (!rtDW.Cond_prev_private_DSTATE_hw)) { rtDW.t_start_delay_private_DSTATE_k = rtDW.t_now; } /* End of Switch: '/Switch' */ /* DataStoreWrite: '/Data Store Write1' incorporates: * DataTypeConversion: '/Data Type Conversion' */ rtDW.dtc_state_error_model[8] = rtb_LogicalOperator8; /* Switch: '/Switch' incorporates: * DataTypeConversion: '/Data Type Conversion' * Switch: '/Switch1' */ if (rtb_LogicalOperator8) { /* DataStoreWrite: '/Data Store Write' incorporates: * DataTypeConversion: '/Data Type Conversion1' */ rtDW.dtc_state_error_model[9] = rtb_Compare_bef; /* DataStoreWrite: '/Data Store Write1' incorporates: * DataTypeConversion: '/Data Type Conversion2' */ rtDW.dtc_state_error_model[8] = rtb_Compare_pt; } else { /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.dtc_state_error_model[9] = 0U; } /* End of Switch: '/Switch' */ /* MATLAB Function: '/Write ERROR3' incorporates: * DataStoreRead: '/Data Store Read3' */ /* : if(LOGGER) */ if ((rtDW.LOGGER_ACP != 0.0) && rtb_LogicalOperator8) { /* : if(IncarRLErr) */ /* : fprintf('CCU_Body_Err.CCU_IncarTempErrR_Stat = 0x1 (Failure), Sensor_Incar_Temp_RR = %f V\n',Sensor_Incar_Temp_RR); */ printf("CCU_Body_Err.CCU_IncarTempErrR_Stat = 0x1 (Failure), Sensor_Incar_Temp_RR = %f V\n", rtb_Divide7); fflush(stdout); } /* End of MATLAB Function: '/Write ERROR3' */ /* Switch: '/Switch' incorporates: * DataStoreRead: '/Data Store Read4' * Logic: '/Logical Operator3' * Logic: '/Logical Operator4' * UnitDelay: '/Cond_prev_private ' * UnitDelay: '/t_start_delay_private ' */ if (rtb_FailCond_e && (!rtDW.Cond_prev_private_DSTATE_i)) { rtDW.t_start_delay_private_DSTATE_p = rtDW.t_now; } /* End of Switch: '/Switch' */ /* MATLAB Function: '/Write IncarFL' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write1' */ /* : if(LOGGER) */ if (rtDW.LOGGER_ACP != 0.0) { /* : fprintf('IncarFL = %d * 0.1 C\n',IncarFL); */ printf("IncarFL = %d * 0.1 C\n", rtDW.Incar_FL); fflush(stdout); } /* End of MATLAB Function: '/Write IncarFL' */ /* MATLAB Function: '/Write IncarFR' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write3' */ /* : if(LOGGER) */ if (rtDW.LOGGER_ACP != 0.0) { /* : fprintf('IncarFR = %d * 0.1 C\n',IncarFR); */ printf("IncarFR = %d * 0.1 C\n", rtDW.Incar_FR); fflush(stdout); } /* End of MATLAB Function: '/Write IncarFR' */ /* MATLAB Function: '/Write IncarRL' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreWrite: '/Data Store Write4' */ /* : if(LOGGER) */ if (rtDW.LOGGER_ACP != 0.0) { /* : fprintf('IncarRL = %d * 0.1 C\n',IncarRL); */ printf("IncarRL = %d * 0.1 C\n", rtDW.Incar_RL); fflush(stdout); } /* End of MATLAB Function: '/Write IncarRL' */ /* MATLAB Function: '/Write IncarRR' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreWrite: '/Data Store Write5' */ /* : if(LOGGER) */ if (rtDW.LOGGER_ACP != 0.0) { /* : fprintf('IncarRR = %d * 0.1 C\n',IncarRR); */ printf("IncarRR = %d * 0.1 C\n", rtDW.Incar_RR); fflush(stdout); } /* End of MATLAB Function: '/Write IncarRR' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.LOGGER_ACP = 0.0; /* Product: '/Divide1' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * DataStoreRead: '/Data Store Read1' * Product: '/Divide' */ index_start = (double)rtDW.ADC_Data_Model.BTS5120_2EKA_ShutoffValvePowerTXV1 / 4095.0 * 5.0; /* MATLAB Function: '/Write' incorporates: * Constant: '/Constant2' * Constant: '/Constant3' * DataStoreRead: '/Data Store Read' * Product: '/Divide2' * Product: '/Divide3' */ /* : if(LOGGER) */ if (rtDW.LOGGER_ACP != 0.0) { /* : fprintf('BTS5120_2EKA_ShutoffValvePowerTXV1 V = %f Iout = %f\n',U,I); */ printf("BTS5120_2EKA_ShutoffValvePowerTXV1 V = %f Iout = %f\n", index_start, index_start / 1200.0 * 550.0); fflush(stdout); } /* End of MATLAB Function: '/Write' */ /* Product: '/Divide1' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * DataStoreRead: '/Data Store Read1' * Product: '/Divide' */ index_start = (double)rtDW.ADC_Data_Model.BTS5120_2EKA_ShutoffValvePowerTXV2 / 4095.0 * 5.0; /* MATLAB Function: '/Write' incorporates: * Constant: '/Constant2' * Constant: '/Constant3' * DataStoreRead: '/Data Store Read' * Product: '/Divide2' * Product: '/Divide3' */ /* : if(LOGGER) */ if (rtDW.LOGGER_ACP != 0.0) { /* : fprintf('BTS5120_2EKA_ShutoffValvePowerTXV2 V = %f Iout = %f\n',U,I); */ printf("BTS5120_2EKA_ShutoffValvePowerTXV2 V = %f Iout = %f\n", index_start, index_start / 1200.0 * 550.0); fflush(stdout); } /* End of MATLAB Function: '/Write' */ /* Product: '/Divide1' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * DataStoreRead: '/Data Store Read1' * Product: '/Divide' */ index_start = (double)rtDW.ADC_Data_Model.BTS5180_2EKA_ChannelPTCPower1 / 4095.0 * 5.0; /* MATLAB Function: '/Write' incorporates: * Constant: '/Constant2' * Constant: '/Constant3' * DataStoreRead: '/Data Store Read' * Product: '/Divide2' * Product: '/Divide3' */ /* : if(LOGGER) */ if (rtDW.LOGGER_ACP != 0.0) { /* : fprintf('BTS5180_2EKA_ChannelPTCPower1 V = %f Iout = %f\n',U,I); */ printf("BTS5180_2EKA_ChannelPTCPower1 V = %f Iout = %f\n", index_start, index_start / 1200.0 * 550.0); fflush(stdout); } /* End of MATLAB Function: '/Write' */ /* Product: '/Divide1' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * DataStoreRead: '/Data Store Read1' * Product: '/Divide' */ index_start = (double)rtDW.ADC_Data_Model.BTS5180_2EKA_ChannelPTCPower2 / 4095.0 * 5.0; /* MATLAB Function: '/Write' incorporates: * Constant: '/Constant2' * Constant: '/Constant3' * DataStoreRead: '/Data Store Read' * Product: '/Divide2' * Product: '/Divide3' */ /* : if(LOGGER) */ if (rtDW.LOGGER_ACP != 0.0) { /* : fprintf('BTS5180_2EKA_ChannelPTCPower2 V = %f Iout = %f\n',U,I); */ printf("BTS5180_2EKA_ChannelPTCPower2 V = %f Iout = %f\n", index_start, index_start / 1200.0 * 550.0); fflush(stdout); } /* End of MATLAB Function: '/Write' */ /* Product: '/Divide1' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * DataStoreRead: '/Data Store Read1' * Product: '/Divide' */ index_start = (double)rtDW.ADC_Data_Model.BTS5180_2EKA_FrontIncarMotor / 4095.0 * 5.0; /* MATLAB Function: '/Write' incorporates: * Constant: '/Constant2' * Constant: '/Constant3' * DataStoreRead: '/Data Store Read' * Product: '/Divide2' * Product: '/Divide3' */ /* : if(LOGGER) */ if (rtDW.LOGGER_ACP != 0.0) { /* : fprintf('BTS5180_2EKA_FrontIncarMotor V = %f Iout = %f\n',U,I); */ printf("BTS5180_2EKA_FrontIncarMotor V = %f Iout = %f\n", index_start, index_start / 1200.0 * 550.0); fflush(stdout); } /* End of MATLAB Function: '/Write' */ /* Product: '/Divide1' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * DataStoreRead: '/Data Store Read1' * Product: '/Divide' */ index_start = (double)rtDW.ADC_Data_Model.BTS5180_2EKA_RearIncarMotor / 4095.0 * 5.0; /* MATLAB Function: '/Write' incorporates: * Constant: '/Constant2' * Constant: '/Constant3' * DataStoreRead: '/Data Store Read' * Product: '/Divide2' * Product: '/Divide3' */ /* : if(LOGGER) */ if (rtDW.LOGGER_ACP != 0.0) { /* : fprintf('BTS5180_2EKA_RearIncarMotor V = %f Iout = %f\n',U,I); */ printf("BTS5180_2EKA_RearIncarMotor V = %f Iout = %f\n", index_start, index_start / 1200.0 * 550.0); fflush(stdout); } /* End of MATLAB Function: '/Write' */ /* Product: '/Divide1' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * DataStoreRead: '/Data Store Read1' * Product: '/Divide' */ index_start = (double)rtDW.ADC_Data_Model.BTS5180_2EKA_ReservePowerSupply / 4095.0 * 5.0; /* MATLAB Function: '/Write' incorporates: * Constant: '/Constant2' * Constant: '/Constant3' * DataStoreRead: '/Data Store Read' * Product: '/Divide2' * Product: '/Divide3' */ /* : if(LOGGER) */ if (rtDW.LOGGER_ACP != 0.0) { /* : fprintf('BTS5180_2EKA_ReservePowerSupply V = %f Iout = %f\n',U,I); */ printf("BTS5180_2EKA_ReservePowerSupply V = %f Iout = %f\n", index_start, index_start / 1200.0 * 550.0); fflush(stdout); } /* End of MATLAB Function: '/Write' */ /* Product: '/Divide1' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * DataStoreRead: '/Data Store Read1' * Product: '/Divide' */ index_start = (double)rtDW.ADC_Data_Model.BTS5180_2EKA_ShutOFFValveFront / 4095.0 * 5.0; /* MATLAB Function: '/Write' incorporates: * Constant: '/Constant2' * Constant: '/Constant3' * DataStoreRead: '/Data Store Read' * Product: '/Divide2' * Product: '/Divide3' */ /* : if(LOGGER) */ if (rtDW.LOGGER_ACP != 0.0) { /* : fprintf('BTS5180_2EKA_ShutOFFValveFront V = %f Iout = %f\n',U,I); */ printf("BTS5180_2EKA_ShutOFFValveFront V = %f Iout = %f\n", index_start, index_start / 1200.0 * 550.0); fflush(stdout); } /* End of MATLAB Function: '/Write' */ /* Product: '/Divide1' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * DataStoreRead: '/Data Store Read1' * Product: '/Divide' */ index_start = (double)rtDW.ADC_Data_Model.BTS5180_2EKA_ShutOFFValveRear / 4095.0 * 5.0; /* MATLAB Function: '/Write' incorporates: * Constant: '/Constant2' * Constant: '/Constant3' * DataStoreRead: '/Data Store Read' * Product: '/Divide2' * Product: '/Divide3' */ /* : if(LOGGER) */ if (rtDW.LOGGER_ACP != 0.0) { /* : fprintf('BTS5180_2EKA_ShutOFFValveRear V = %f Iout = %f\n',U,I); */ printf("BTS5180_2EKA_ShutOFFValveRear V = %f Iout = %f\n", index_start, index_start / 1200.0 * 550.0); fflush(stdout); } /* End of MATLAB Function: '/Write' */ /* Product: '/Divide1' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * DataStoreRead: '/Data Store Read1' * Product: '/Divide' */ index_start = (double)rtDW.ADC_Data_Model.BTS5180_2EKA_TwoWayValve / 4095.0 * 5.0; /* MATLAB Function: '/Write' incorporates: * Constant: '/Constant2' * Constant: '/Constant3' * DataStoreRead: '/Data Store Read' * Product: '/Divide2' * Product: '/Divide3' */ /* : if(LOGGER) */ if (rtDW.LOGGER_ACP != 0.0) { /* : fprintf('BTS5180_2EKA_TwoWayValve V = %f Iout = %f\n',U,I); */ printf("BTS5180_2EKA_TwoWayValve V = %f Iout = %f\n", index_start, index_start / 1200.0 * 550.0); fflush(stdout); } /* End of MATLAB Function: '/Write' */ /* MATLAB Function: '/Write' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read1' * Product: '/Divide' * Product: '/Divide1' */ /* : if(LOGGER) */ if (rtDW.LOGGER_ACP != 0.0) { /* : fprintf('IGN_ANS = %f V\n',data); */ printf("IGN_ANS = %f V\n", (double)rtDW.ADC_Data_Model.IGN_ANS / 4095.0 * 27.75); fflush(stdout); } /* End of MATLAB Function: '/Write' */ /* MATLAB Function: '/Write' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read1' * Product: '/Divide' * Product: '/Divide1' */ /* : if(LOGGER) */ if (rtDW.LOGGER_ACP != 0.0) { /* : fprintf('PBATT_CHECK V = %f\n',U); */ printf("PBATT_CHECK V = %f\n", (double)rtDW.ADC_Data_Model.PBATT_CHECK / 4095.0 * 33.4375); fflush(stdout); } /* End of MATLAB Function: '/Write' */ /* MATLAB Function: '/Write' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read1' * Product: '/Divide' * Product: '/Divide1' */ /* : if(LOGGER) */ if (rtDW.LOGGER_ACP != 0.0) { /* : fprintf('Pressure_DIAG V = %f\n',U); */ printf("Pressure_DIAG V = %f\n", (double)rtDW.ADC_Data_Model.Pressure_DIAG / 4095.0 * 6.0638); fflush(stdout); } /* End of MATLAB Function: '/Write' */ /* MATLAB Function: '/Write' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read1' * Product: '/Divide' * Product: '/Divide1' */ /* : if(LOGGER) */ if (rtDW.LOGGER_ACP != 0.0) { /* : fprintf('Reserve_Sensor_Duct_Temp_1 V = %f\n',U); */ printf("Reserve_Sensor_Duct_Temp_1 V = %f\n", (double) rtDW.ADC_Data_Model.Reserve_Sensor_Duct_Temp_1 / 4095.0 * 5.0); fflush(stdout); } /* End of MATLAB Function: '/Write' */ /* MATLAB Function: '/Write' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read1' * Product: '/Divide' * Product: '/Divide1' */ /* : if(LOGGER) */ if (rtDW.LOGGER_ACP != 0.0) { /* : fprintf('Reserve_Sensor_Duct_Temp_2 V = %f\n',U); */ printf("Reserve_Sensor_Duct_Temp_2 V = %f\n", (double) rtDW.ADC_Data_Model.Reserve_Sensor_Duct_Temp_2 / 4095.0 * 5.0); fflush(stdout); } /* End of MATLAB Function: '/Write' */ /* MATLAB Function: '/Write' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read1' * Product: '/Divide' * Product: '/Divide1' */ /* : if(LOGGER) */ if (rtDW.LOGGER_ACP != 0.0) { /* : fprintf('Sensor_Front_Duct5 V = %f\n',U); */ printf("Sensor_Front_Duct5 V = %f\n", (double) rtDW.ADC_Data_Model.Sensor_Rear_Duct5 / 4095.0 * 5.0); fflush(stdout); } /* End of MATLAB Function: '/Write' */ /* MATLAB Function: '/Write' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read1' * Product: '/Divide' * Product: '/Divide1' */ /* : if(LOGGER) */ if (rtDW.LOGGER_ACP != 0.0) { /* : fprintf('Sensor_Front_Duct V = %f\n',U); */ printf("Sensor_Front_Duct V = %f\n", (double) rtDW.ADC_Data_Model.Sensor_Rear_Duct6 / 4095.0 * 5.0); fflush(stdout); } /* End of MATLAB Function: '/Write' */ /* MATLAB Function: '/Write' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read1' * Product: '/Divide' * Product: '/Divide1' */ /* : if(LOGGER) */ if (rtDW.LOGGER_ACP != 0.0) { /* : fprintf('VN7008AJ_DIAG_FrontLINActuatorPowerDriverAB V = %f\n',U); */ printf("VN7008AJ_DIAG_FrontLINActuatorPowerDriverAB V = %f\n", (double) rtDW.ADC_Data_Model.VN7008AJ_DIAG_FrontLINActuatorPowerDriverAB / 4095.0 * 17.5); fflush(stdout); } /* End of MATLAB Function: '/Write' */ /* MATLAB Function: '/Write' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read1' * Product: '/Divide' * Product: '/Divide1' */ /* : if(LOGGER) */ if (rtDW.LOGGER_ACP != 0.0) { /* : fprintf('VN7008AJ_DIAG_RearLINActuatorPowerDriverC V = %f\n',U); */ printf("VN7008AJ_DIAG_RearLINActuatorPowerDriverC V = %f\n", (double) rtDW.ADC_Data_Model.VN7008AJ_DIAG_RearLINActuatorPowerDriverC / 4095.0 * 17.5); fflush(stdout); } /* End of MATLAB Function: '/Write' */ /* Product: '/Divide1' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * DataStoreRead: '/Data Store Read1' * Product: '/Divide' */ index_start = (double) rtDW.ADC_Data_Model.VN7008AJ_FrontLINActuatorPowerDriverAB / 4095.0 * 5.0; /* MATLAB Function: '/Write' incorporates: * Constant: '/Constant2' * Constant: '/Constant3' * DataStoreRead: '/Data Store Read' * Product: '/Divide2' * Product: '/Divide3' */ /* : if(LOGGER) */ if (rtDW.LOGGER_ACP != 0.0) { /* : fprintf('VN7008AJ_FrontLINActuatorPowerDriverAB V = %f Iout = %f\n',U,I); */ printf("VN7008AJ_FrontLINActuatorPowerDriverAB V = %f Iout = %f\n", index_start, index_start / 2490.0 * 5890.0); fflush(stdout); } /* End of MATLAB Function: '/Write' */ /* Product: '/Divide1' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * DataStoreRead: '/Data Store Read1' * Product: '/Divide' */ index_start = (double)rtDW.ADC_Data_Model.VN7008AJ_RearLINActuatorPowerDriverC / 4095.0 * 5.0; /* MATLAB Function: '/Write' incorporates: * Constant: '/Constant2' * Constant: '/Constant3' * DataStoreRead: '/Data Store Read' * Product: '/Divide2' * Product: '/Divide3' */ /* : if(LOGGER) */ if (rtDW.LOGGER_ACP != 0.0) { /* : fprintf('VN7008AJ_RearLINActuatorPowerDriverC V = %f Iout = %f\n',U,I); */ printf("VN7008AJ_RearLINActuatorPowerDriverC V = %f Iout = %f\n", index_start, index_start / 2490.0 * 5890.0); fflush(stdout); } /* End of MATLAB Function: '/Write' */ /* MATLAB Function: '/Write' incorporates: * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read3' */ /* : if(LOGGER) */ if (rtDW.LOGGER_ACP != 0.0) { /* : fprintf('ST_ReservePower = %u \n',data); */ printf("ST_ReservePower = %u \n", rtDW.ADC_Key_Data_Model.ST_ReservePower); fflush(stdout); } /* End of MATLAB Function: '/Write' */ /* MATLAB Function: '/Write1' incorporates: * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read3' */ /* : if(LOGGER) */ if (rtDW.LOGGER_ACP != 0.0) { /* : fprintf('ST_BATTChiller = %u \n',data); */ printf("ST_BATTChiller = %u \n", rtDW.ADC_Key_Data_Model.ST_BATTChiller); fflush(stdout); } /* End of MATLAB Function: '/Write1' */ /* MATLAB Function: '/Write2' incorporates: * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read3' */ /* : if(LOGGER) */ if (rtDW.LOGGER_ACP != 0.0) { /* : fprintf('EmergencyAirCleanSwitch = %u \n',data); */ printf("EmergencyAirCleanSwitch = %u \n", rtDW.ADC_Key_Data_Model.EmergencyAirCleanSwitch); fflush(stdout); } /* End of MATLAB Function: '/Write2' */ /* MATLAB Function: '/Write3' incorporates: * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read3' */ /* : if(LOGGER) */ if (rtDW.LOGGER_ACP != 0.0) { /* : fprintf('FireExtinguishSwitch = %u \n',data); */ printf("FireExtinguishSwitch = %u \n", rtDW.ADC_Key_Data_Model.FireExtinguishSwitch); fflush(stdout); } /* End of MATLAB Function: '/Write3' */ /* MATLAB Function: '/Write4' incorporates: * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read3' */ /* : if(LOGGER) */ if (rtDW.LOGGER_ACP != 0.0) { /* : fprintf('Ign_Wakeup = %u \n',data); */ printf("Ign_Wakeup = %u \n", rtDW.ADC_Key_Data_Model.Ign_Wakeup); fflush(stdout); } /* End of MATLAB Function: '/Write4' */ /* Chart: '/Zone_Climate_Logic_Auto_FL2' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read8' */ Zone_Climate_Logic_Auto_FL2(0.0, rtDW.CCU_FACE_RL, rtDW.CCU_FOOT_RL, rtDW.CCU_MODE_RL, rtDW.CCU_AC_REAR, &rtB.out_def_i, &rtB.out_face_c, &rtB.out_foot_f, &rtB.out_auto_h, &rtB.out_ac_ed, &rtDW.sf_Zone_Climate_Logic_Auto_FL2); /* DataStoreWrite: '/Data Store Write1' */ rtDW.CCU_FACE_RL = rtB.out_face_c; /* DataStoreWrite: '/Data Store Write2' */ rtDW.CCU_FOOT_RL = rtB.out_foot_f; /* DataStoreWrite: '/Data Store Write3' */ rtDW.CCU_MODE_RL = rtB.out_auto_h; /* Chart: '/Zone_Climate_Logic_Auto_FL3' incorporates: * Constant: '/Constant1' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read4' * DataStoreRead: '/Data Store Read5' * DataStoreRead: '/Data Store Read9' */ Zone_Climate_Logic_Auto_FL2(0.0, rtDW.CCU_FACE_RR, rtDW.CCU_FOOT_RR, rtDW.CCU_MODE_RR, rtDW.CCU_AC_REAR, &rtB.out_def_n, &rtB.out_face_f, &rtB.out_foot_p, &rtB.out_auto_e, &rtB.out_ac_e, &rtDW.sf_Zone_Climate_Logic_Auto_FL3); /* DataStoreWrite: '/Data Store Write4' */ rtDW.CCU_FACE_RR = rtB.out_face_f; /* DataStoreWrite: '/Data Store Write5' */ rtDW.CCU_FOOT_RR = rtB.out_foot_p; /* DataStoreWrite: '/Data Store Write6' */ rtDW.CCU_MODE_RR = rtB.out_auto_e; /* DataTypeConversion: '/Data Type Conversion' incorporates: * DataStoreWrite: '/Data Store Write7' * Logic: '/Logical Operator1' */ rtDW.CCU_AC_REAR = (uint8_t)((rtB.out_ac_ed != 0.0) || (rtB.out_ac_e != 0.0)); /* Chart: '/Zone_Climate_Logic_Auto_FL1' incorporates: * DataStoreRead: '/Data Store Read38' * DataStoreRead: '/Data Store Read39' * DataStoreRead: '/Data Store Read40' * DataStoreRead: '/Data Store Read41' * DataStoreRead: '/Data Store Read6' */ if (rtDW.is_active_c681_HVAC_model == 0U) { rtDW.is_active_c681_HVAC_model = 1U; rtDW.is_c681_HVAC_model = IN_MANUAL_MODE_k; /* : out_def = 0; */ rtB.out_def_m = 0U; /* : out_face = 1; */ rtB.out_face_m = 1U; /* : out_foot = 1; */ rtB.out_foot_ps = 1U; /* : mem_def = 0; */ /* : mem_face = 0; */ /* : mem_foot = 0; */ rtDW.is_DEF_SUB_i = IN_Def_Off_p; rtDW.is_FACE_SUB_o = IN_Face_Off_i; rtDW.is_FOOT_SUB_f = IN_Foot_Off_n; rtDW.is_AC_SUB_co = IN_AC_Off_m; } else if (rtDW.is_c681_HVAC_model == IN_AUTO_MODE_p) { /* : sf_internal_predicateOutput = btn_auto == 0 || btn_def == 1 || btn_face == 1 || btn_foot == 1; */ if ((rtDW.CCU_MODE_FL == 0) || (rtDW.CCU_DEF_FL == 1) || (rtDW.CCU_FACE_FL == 1) || (rtDW.CCU_FOOT_FL == 1)) { /* : out_auto=0; */ rtB.out_auto_hx = 0U; rtDW.is_AC_SUB_c = IN_NO_ACTIVE_CHILD_c; rtDW.is_c681_HVAC_model = IN_MANUAL_MODE_k; /* : out_def = 0; */ rtB.out_def_m = 0U; /* : out_face = 1; */ rtB.out_face_m = 1U; /* : out_foot = 1; */ rtB.out_foot_ps = 1U; /* : mem_def = 0; */ /* : mem_face = 0; */ /* : mem_foot = 0; */ rtDW.is_DEF_SUB_i = IN_Def_Off_p; rtDW.is_FACE_SUB_o = IN_Face_Off_i; rtDW.is_FOOT_SUB_f = IN_Foot_Off_n; rtDW.is_AC_SUB_co = IN_AC_Off_m; } else if (rtDW.is_AC_SUB_c == IN_AC_Off_m) { /* : sf_internal_predicateOutput = btn_ac == 1; */ if (rtDW.CCU_AC_FRONT == 1) { /* : out_ac=1 */ rtDW.is_AC_SUB_c = IN_AC_On_d; /* : out_ac = 1; */ rtB.out_ac_m = 1.0; } /* case IN_AC_On: */ /* : sf_internal_predicateOutput = btn_ac == 0; */ } else if (rtDW.CCU_AC_FRONT == 0) { /* : out_ac=0 */ rtB.out_ac_m = 0.0; rtDW.is_AC_SUB_c = IN_AC_Off_m; } /* case IN_MANUAL_MODE: */ /* : sf_internal_predicateOutput = btn_auto == 1 || (out_def == 0 && out_face == 0 && out_foot == 0); */ } else if ((rtDW.CCU_MODE_FL == 1) || ((rtB.out_def_m == 0) && (rtB.out_face_m == 0) && (rtB.out_foot_ps == 0))) { /* : out_auto=1; */ rtDW.is_AC_SUB_co = IN_NO_ACTIVE_CHILD_c; rtDW.is_FOOT_SUB_f = IN_NO_ACTIVE_CHILD_c; rtDW.is_FACE_SUB_o = IN_NO_ACTIVE_CHILD_c; rtDW.is_DEF_SUB_i = IN_NO_ACTIVE_CHILD_c; rtDW.is_c681_HVAC_model = IN_AUTO_MODE_p; /* : out_auto = 1; */ rtB.out_auto_hx = 1U; /* : out_def = 0; */ rtB.out_def_m = 0U; /* : out_face = 0; */ rtB.out_face_m = 0U; /* : out_foot = 0; */ rtB.out_foot_ps = 0U; rtDW.is_AC_SUB_c = IN_AC_On_d; /* : out_ac = 1; */ rtB.out_ac_m = 1.0; } else { if (rtDW.is_DEF_SUB_i == IN_Def_Off_p) { /* : sf_internal_predicateOutput = btn_def == 1; */ if (rtDW.CCU_DEF_FL == 1) { /* : out_def=1 */ rtB.out_def_m = 1U; rtDW.is_DEF_SUB_i = IN_Def_On_c; } /* case IN_Def_On: */ /* : sf_internal_predicateOutput = btn_def == 0; */ } else if (rtDW.CCU_DEF_FL == 0) { /* : out_def=0 */ rtB.out_def_m = 0U; rtDW.is_DEF_SUB_i = IN_Def_Off_p; } if (rtDW.is_FACE_SUB_o == IN_Face_Off_i) { /* : sf_internal_predicateOutput = btn_face == 1; */ if (rtDW.CCU_FACE_FL == 1) { /* : out_face=1 */ rtB.out_face_m = 1U; rtDW.is_FACE_SUB_o = IN_Face_On_k; } /* case IN_Face_On: */ /* : sf_internal_predicateOutput = btn_face == 0; */ } else if (rtDW.CCU_FACE_FL == 0) { /* : out_face=0 */ rtB.out_face_m = 0U; rtDW.is_FACE_SUB_o = IN_Face_Off_i; } if (rtDW.is_FOOT_SUB_f == IN_Foot_Off_n) { /* : sf_internal_predicateOutput = btn_foot == 1; */ if (rtDW.CCU_FOOT_FL == 1) { /* : out_foot=1 */ rtB.out_foot_ps = 1U; rtDW.is_FOOT_SUB_f = IN_Foot_On_m; } /* case IN_Foot_On: */ /* : sf_internal_predicateOutput = btn_foot == 0; */ } else if (rtDW.CCU_FOOT_FL == 0) { /* : out_foot=0 */ rtB.out_foot_ps = 0U; rtDW.is_FOOT_SUB_f = IN_Foot_Off_n; } if (rtDW.is_AC_SUB_co == IN_AC_Off_m) { /* : sf_internal_predicateOutput = btn_ac == 1; */ if (rtDW.CCU_AC_FRONT == 1) { /* : out_ac=1 */ rtB.out_ac_m = 1.0; rtDW.is_AC_SUB_co = IN_AC_On_d; } /* case IN_AC_On: */ /* : sf_internal_predicateOutput = btn_ac == 0; */ } else if (rtDW.CCU_AC_FRONT == 0) { /* : out_ac=0 */ rtB.out_ac_m = 0.0; rtDW.is_AC_SUB_co = IN_AC_Off_m; } } /* End of Chart: '/Zone_Climate_Logic_Auto_FL1' */ /* Chart: '/Zone_Climate_Logic_Auto_FL4' incorporates: * DataStoreRead: '/Data Store Read42' * DataStoreRead: '/Data Store Read61' * DataStoreRead: '/Data Store Read62' * DataStoreRead: '/Data Store Read63' * DataStoreRead: '/Data Store Read7' */ if (rtDW.is_active_c777_HVAC_model == 0U) { rtDW.is_active_c777_HVAC_model = 1U; rtDW.is_c777_HVAC_model = IN_MANUAL_MODE_k; /* : out_def = 0; */ rtB.out_def = 0U; /* : out_face = 1; */ rtB.out_face = 1U; /* : out_foot = 1; */ rtB.out_foot = 1U; /* : mem_def = 0; */ /* : mem_face = 0; */ /* : mem_foot = 0; */ rtDW.is_DEF_SUB = IN_Def_Off_p; rtDW.is_FACE_SUB = IN_Face_Off_i; rtDW.is_FOOT_SUB = IN_Foot_Off_n; rtDW.is_AC_SUB_a = IN_AC_Off_m; } else if (rtDW.is_c777_HVAC_model == IN_AUTO_MODE_p) { /* : sf_internal_predicateOutput = btn_auto == 0 || btn_def == 1 || btn_face == 1 || btn_foot == 1; */ if ((rtDW.CCU_MODE_FR == 0) || (rtDW.CCU_DEF_FR == 1) || (rtDW.CCU_FACE_FR == 1) || (rtDW.CCU_FOOT_FR == 1)) { /* : out_auto=0; */ rtB.out_auto = 0U; rtDW.is_AC_SUB = IN_NO_ACTIVE_CHILD_c; rtDW.is_c777_HVAC_model = IN_MANUAL_MODE_k; /* : out_def = 0; */ rtB.out_def = 0U; /* : out_face = 1; */ rtB.out_face = 1U; /* : out_foot = 1; */ rtB.out_foot = 1U; /* : mem_def = 0; */ /* : mem_face = 0; */ /* : mem_foot = 0; */ rtDW.is_DEF_SUB = IN_Def_Off_p; rtDW.is_FACE_SUB = IN_Face_Off_i; rtDW.is_FOOT_SUB = IN_Foot_Off_n; rtDW.is_AC_SUB_a = IN_AC_Off_m; } else if (rtDW.is_AC_SUB == IN_AC_Off_m) { /* : sf_internal_predicateOutput = btn_ac == 1; */ if (rtDW.CCU_AC_FRONT == 1) { /* : out_ac=1 */ rtDW.is_AC_SUB = IN_AC_On_d; /* : out_ac = 1; */ rtB.out_ac = 1.0; } /* case IN_AC_On: */ /* : sf_internal_predicateOutput = btn_ac == 0; */ } else if (rtDW.CCU_AC_FRONT == 0) { /* : out_ac=0 */ rtB.out_ac = 0.0; rtDW.is_AC_SUB = IN_AC_Off_m; } /* case IN_MANUAL_MODE: */ /* : sf_internal_predicateOutput = btn_auto == 1 || (out_def == 0 && out_face == 0 && out_foot == 0); */ } else if ((rtDW.CCU_MODE_FR == 1) || ((rtB.out_def == 0) && (rtB.out_face == 0) && (rtB.out_foot == 0))) { /* : out_auto=1; */ rtDW.is_AC_SUB_a = IN_NO_ACTIVE_CHILD_c; rtDW.is_FOOT_SUB = IN_NO_ACTIVE_CHILD_c; rtDW.is_FACE_SUB = IN_NO_ACTIVE_CHILD_c; rtDW.is_DEF_SUB = IN_NO_ACTIVE_CHILD_c; rtDW.is_c777_HVAC_model = IN_AUTO_MODE_p; /* : out_auto = 1; */ rtB.out_auto = 1U; /* : out_def = 0; */ rtB.out_def = 0U; /* : out_face = 0; */ rtB.out_face = 0U; /* : out_foot = 0; */ rtB.out_foot = 0U; rtDW.is_AC_SUB = IN_AC_On_d; /* : out_ac = 1; */ rtB.out_ac = 1.0; } else { if (rtDW.is_DEF_SUB == IN_Def_Off_p) { /* : sf_internal_predicateOutput = btn_def == 1; */ if (rtDW.CCU_DEF_FR == 1) { /* : out_def=1 */ rtB.out_def = 1U; rtDW.is_DEF_SUB = IN_Def_On_c; } /* case IN_Def_On: */ /* : sf_internal_predicateOutput = btn_def == 0; */ } else if (rtDW.CCU_DEF_FR == 0) { /* : out_def=0 */ rtB.out_def = 0U; rtDW.is_DEF_SUB = IN_Def_Off_p; } if (rtDW.is_FACE_SUB == IN_Face_Off_i) { /* : sf_internal_predicateOutput = btn_face == 1; */ if (rtDW.CCU_FACE_FR == 1) { /* : out_face=1 */ rtB.out_face = 1U; rtDW.is_FACE_SUB = IN_Face_On_k; } /* case IN_Face_On: */ /* : sf_internal_predicateOutput = btn_face == 0; */ } else if (rtDW.CCU_FACE_FR == 0) { /* : out_face=0 */ rtB.out_face = 0U; rtDW.is_FACE_SUB = IN_Face_Off_i; } if (rtDW.is_FOOT_SUB == IN_Foot_Off_n) { /* : sf_internal_predicateOutput = btn_foot == 1; */ if (rtDW.CCU_FOOT_FR == 1) { /* : out_foot=1 */ rtB.out_foot = 1U; rtDW.is_FOOT_SUB = IN_Foot_On_m; } /* case IN_Foot_On: */ /* : sf_internal_predicateOutput = btn_foot == 0; */ } else if (rtDW.CCU_FOOT_FR == 0) { /* : out_foot=0 */ rtB.out_foot = 0U; rtDW.is_FOOT_SUB = IN_Foot_Off_n; } if (rtDW.is_AC_SUB_a == IN_AC_Off_m) { /* : sf_internal_predicateOutput = btn_ac == 1; */ if (rtDW.CCU_AC_FRONT == 1) { /* : out_ac=1 */ rtB.out_ac = 1.0; rtDW.is_AC_SUB_a = IN_AC_On_d; } /* case IN_AC_On: */ /* : sf_internal_predicateOutput = btn_ac == 0; */ } else if (rtDW.CCU_AC_FRONT == 0) { /* : out_ac=0 */ rtB.out_ac = 0.0; rtDW.is_AC_SUB_a = IN_AC_Off_m; } } /* End of Chart: '/Zone_Climate_Logic_Auto_FL4' */ /* DataTypeConversion: '/Data Type Conversion1' incorporates: * DataStoreWrite: '/Data Store Write' * Logic: '/Logical Operator' */ rtDW.CCU_AC_FRONT = (uint8_t)((rtB.out_ac_m != 0.0) || (rtB.out_ac != 0.0)); /* DataStoreWrite: '/Data Store Write28' */ rtDW.CCU_FACE_FL = rtB.out_face_m; /* DataStoreWrite: '/Data Store Write29' */ rtDW.CCU_FOOT_FL = rtB.out_foot_ps; /* DataStoreWrite: '/Data Store Write30' */ rtDW.CCU_MODE_FL = rtB.out_auto_hx; /* DataStoreWrite: '/Data Store Write32' */ rtDW.CCU_FACE_FR = rtB.out_face; /* DataStoreWrite: '/Data Store Write33' */ rtDW.CCU_FOOT_FR = rtB.out_foot; /* DataStoreWrite: '/Data Store Write34' */ rtDW.CCU_MODE_FR = rtB.out_auto; /* DataStoreWrite: '/Data Store Write35' */ rtDW.CCU_DEF_FR = rtB.out_def; /* DataStoreWrite: '/Data Store Write37' */ rtDW.CCU_DEF_FL = rtB.out_def_m; /* Outputs for Enabled SubSystem: '/Determine directions RL' incorporates: * EnablePort: '/Enable' */ /* RelationalOperator: '/FixPt Relational Operator' incorporates: * UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM */ if (rtB.out_auto_h < rtDW.DelayInput1_DSTATE) { /* MATLAB Function: '/direction for REAR index mode' incorporates: * DataStoreRead: '/Data Store Read' */ directionforREARindexmode(rtDW.Index_mode_RL_auto, &rtb_Saturation_k[0]); /* DataStoreWrite: '/Data Store Write2' incorporates: * DataTypeConversion: '/Data Type Conversion' */ rtDW.CCU_FACE_RL = (uint8_t)rtb_Saturation_k[1]; /* DataStoreWrite: '/Data Store Write3' incorporates: * DataTypeConversion: '/Data Type Conversion' */ rtDW.CCU_FOOT_RL = (uint8_t)rtb_Saturation_k[2]; /* DataStoreWrite: '/Data Store Write4' incorporates: * DataTypeConversion: '/Data Type Conversion' */ rtDW.Index_mode_RL_manual = (uint8_t)rtb_Saturation_k[3]; /* MATLAB Function: '/AF REAR VENT AUTO' */ AFREARVENTAUTO(rtb_out_cwe); /* MATLAB Function: '/AF REAR Bi Level' */ AFREARBiLevel(rtb_out_hi1); /* MATLAB Function: '/AF REAR Foot' */ AFREARFoot(rtb_out_ma1); /* MATLAB Function: '/AF REAR VENT AUTO1' */ AFREARVENTAUTO(rtb_out_po3); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read' */ switch (rtDW.Index_mode_RL_auto) { case 120: case 150: case 170: for (i = 0; i < 8; i++) { rtb_out_po3[i] = rtb_out_cwe[i]; } break; case 130: case 160: case 180: for (i = 0; i < 8; i++) { rtb_out_po3[i] = rtb_out_hi1[i]; } break; case 140: for (i = 0; i < 8; i++) { rtb_out_po3[i] = rtb_out_ma1[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/closest speed' incorporates: * MATLAB Function: '/RL AF * percent DRS' */ closestspeed(rtb_out_po3, rtb_out_ihi, &rtb_DataTypeConversion3_gz); /* DataStoreWrite: '/Data Store Write5' */ rtDW.CCU_BLOWERS_RL = rtb_DataTypeConversion3_gz; } /* End of RelationalOperator: '/FixPt Relational Operator' */ /* End of Outputs for SubSystem: '/Determine directions RL' */ /* Outputs for Enabled SubSystem: '/Determine directions RR' incorporates: * EnablePort: '/Enable' */ /* RelationalOperator: '/FixPt Relational Operator' incorporates: * UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM */ if (rtB.out_auto_e < rtDW.DelayInput1_DSTATE_e) { /* MATLAB Function: '/direction for REAR index mode1' incorporates: * DataStoreRead: '/Data Store Read' */ directionforREARindexmode(rtDW.Index_mode_RR_auto, &rtb_Saturation_k[0]); /* DataStoreWrite: '/Data Store Write2' incorporates: * DataTypeConversion: '/Data Type Conversion' */ rtDW.CCU_FACE_RR = (uint8_t)rtb_Saturation_k[1]; /* DataStoreWrite: '/Data Store Write3' incorporates: * DataTypeConversion: '/Data Type Conversion' */ rtDW.CCU_FOOT_RR = (uint8_t)rtb_Saturation_k[2]; /* DataStoreWrite: '/Data Store Write4' incorporates: * DataTypeConversion: '/Data Type Conversion' */ rtDW.Index_mode_RR_manual = (uint8_t)rtb_Saturation_k[3]; /* MATLAB Function: '/AF REAR VENT AUTO' */ AFREARVENTAUTO(rtb_out_cwe); /* MATLAB Function: '/AF REAR Bi Level' */ AFREARBiLevel(rtb_out_hi1); /* MATLAB Function: '/AF REAR Foot' */ AFREARFoot(rtb_out_ma1); /* MATLAB Function: '/AF REAR VENT AUTO1' */ AFREARVENTAUTO(rtb_out_po3); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read' */ switch (rtDW.Index_mode_RR_auto) { case 120: case 150: case 170: for (i = 0; i < 8; i++) { rtb_out_po3[i] = rtb_out_cwe[i]; } break; case 130: case 160: case 180: for (i = 0; i < 8; i++) { rtb_out_po3[i] = rtb_out_hi1[i]; } break; case 140: for (i = 0; i < 8; i++) { rtb_out_po3[i] = rtb_out_ma1[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/closest speed' incorporates: * MATLAB Function: '/RR AF * percent DRS' */ closestspeed(rtb_out_po3, rtb_out_m44, &rtb_DataTypeConversion3_gz); /* DataStoreWrite: '/Data Store Write5' */ rtDW.CCU_BLOWERS_RR = rtb_DataTypeConversion3_gz; } /* End of RelationalOperator: '/FixPt Relational Operator' */ /* End of Outputs for SubSystem: '/Determine directions RR' */ /* Outputs for Enabled SubSystem: '/Determine directions FL' incorporates: * EnablePort: '/Enable' */ /* RelationalOperator: '/FixPt Relational Operator' incorporates: * UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM */ if (rtB.out_auto_hx < rtDW.DelayInput1_DSTATE_d) { /* MATLAB Function: '/direction for front index mode' incorporates: * DataStoreRead: '/Data Store Read' */ /* : switch index_mode */ switch (rtDW.Index_mode_FL_auto) { case 0U: /* : case 0 */ /* : Y = [0; 0; 0; 0]; */ rtb_Gain2 = 0; index_start_0 = 0; i = 0; rtb_Y_l_idx_3 = 0; break; case 10U: /* : case 10 */ /* : Y = [0; 1; 0; 10]; */ rtb_Gain2 = 0; index_start_0 = 1; i = 0; rtb_Y_l_idx_3 = 10; break; case 20U: /* : case 20 */ /* : Y = [0; 1; 1; 110]; */ rtb_Gain2 = 0; index_start_0 = 1; i = 1; rtb_Y_l_idx_3 = 110; break; case 30U: /* : case 30 */ /* : Y = [0; 1; 1; 110]; */ rtb_Gain2 = 0; index_start_0 = 1; i = 1; rtb_Y_l_idx_3 = 110; break; case 40U: /* : case 40 */ /* : Y = [0; 1; 1; 110]; */ rtb_Gain2 = 0; index_start_0 = 1; i = 1; rtb_Y_l_idx_3 = 110; break; case 50U: /* : case 50 */ /* : Y = [0; 1; 1; 110]; */ rtb_Gain2 = 0; index_start_0 = 1; i = 1; rtb_Y_l_idx_3 = 110; break; case 60U: /* : case 60 */ /* : Y = [0; 0; 1; 60]; */ rtb_Gain2 = 0; index_start_0 = 0; i = 1; rtb_Y_l_idx_3 = 60; break; case 70U: /* : case 70 */ /* : Y = [1; 0; 1; 70]; */ rtb_Gain2 = 1; index_start_0 = 0; i = 1; rtb_Y_l_idx_3 = 70; break; case 80U: /* : case 80 */ /* : Y = [1; 0; 0; 80]; */ rtb_Gain2 = 1; index_start_0 = 0; i = 0; rtb_Y_l_idx_3 = 80; break; case 90U: /* : case 90 */ /* : Y = [1; 1; 1; 90]; */ rtb_Gain2 = 1; index_start_0 = 1; i = 1; rtb_Y_l_idx_3 = 90; break; case 100U: /* : case 100 */ /* : Y = [1; 1; 0; 100]; */ rtb_Gain2 = 1; index_start_0 = 1; i = 0; rtb_Y_l_idx_3 = 100; break; case 110U: /* : case 110 */ /* : Y = [0; 1; 1; 110]; */ rtb_Gain2 = 0; index_start_0 = 1; i = 1; rtb_Y_l_idx_3 = 110; break; default: /* : otherwise */ /* : Y = [0; 0; 0; 0]; */ rtb_Gain2 = 0; index_start_0 = 0; i = 0; rtb_Y_l_idx_3 = 0; break; } /* End of MATLAB Function: '/direction for front index mode' */ /* DataStoreWrite: '/Data Store Write' incorporates: * DataTypeConversion: '/Data Type Conversion' */ rtDW.CCU_DEF_FL = (uint8_t)rtb_Gain2; /* DataStoreWrite: '/Data Store Write1' incorporates: * DataStoreWrite: '/Data Store Write' * DataTypeConversion: '/Data Type Conversion' */ rtDW.CCU_DEF_FR = (uint8_t)rtb_Gain2; /* DataStoreWrite: '/Data Store Write2' incorporates: * DataTypeConversion: '/Data Type Conversion' */ rtDW.CCU_FACE_FL = (uint8_t)index_start_0; /* DataStoreWrite: '/Data Store Write3' incorporates: * DataTypeConversion: '/Data Type Conversion' */ rtDW.CCU_FOOT_FL = (uint8_t)i; /* DataStoreWrite: '/Data Store Write4' incorporates: * DataTypeConversion: '/Data Type Conversion' */ rtDW.Index_mode_FL_manual = (uint8_t)rtb_Y_l_idx_3; /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read' */ switch (rtDW.Index_mode_FL_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/closest speed' incorporates: * DataStoreRead: '/Data Store Read2' */ closestspeed(rtb_out_eix, rtb_Saturation_as, &rtb_DataTypeConversion3_gz); /* DataStoreWrite: '/Data Store Write5' */ rtDW.CCU_BLOWERS_FL = rtb_DataTypeConversion3_gz; } /* End of RelationalOperator: '/FixPt Relational Operator' */ /* End of Outputs for SubSystem: '/Determine directions FL' */ /* Outputs for Enabled SubSystem: '/Determine directions FR' incorporates: * EnablePort: '/Enable' */ /* RelationalOperator: '/FixPt Relational Operator' incorporates: * UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM */ if (rtB.out_auto < rtDW.DelayInput1_DSTATE_d3) { /* MATLAB Function: '/direction for front index mode' incorporates: * DataStoreRead: '/Data Store Read' */ /* : switch index_mode */ switch (rtDW.Index_mode_FR_auto) { case 0U: /* : case 0 */ /* : Y = [0; 0; 0; 0]; */ rtb_Gain2 = 0; index_start_0 = 0; i = 0; rtb_Y_l_idx_3 = 0; break; case 10U: /* : case 10 */ /* : Y = [0; 1; 0; 10]; */ rtb_Gain2 = 0; index_start_0 = 1; i = 0; rtb_Y_l_idx_3 = 10; break; case 20U: /* : case 20 */ /* : Y = [0; 1; 1; 110]; */ rtb_Gain2 = 0; index_start_0 = 1; i = 1; rtb_Y_l_idx_3 = 110; break; case 30U: /* : case 30 */ /* : Y = [0; 1; 1; 110]; */ rtb_Gain2 = 0; index_start_0 = 1; i = 1; rtb_Y_l_idx_3 = 110; break; case 40U: /* : case 40 */ /* : Y = [0; 1; 1; 110]; */ rtb_Gain2 = 0; index_start_0 = 1; i = 1; rtb_Y_l_idx_3 = 110; break; case 50U: /* : case 50 */ /* : Y = [0; 1; 1; 110]; */ rtb_Gain2 = 0; index_start_0 = 1; i = 1; rtb_Y_l_idx_3 = 110; break; case 60U: /* : case 60 */ /* : Y = [0; 0; 1; 60]; */ rtb_Gain2 = 0; index_start_0 = 0; i = 1; rtb_Y_l_idx_3 = 60; break; case 70U: /* : case 70 */ /* : Y = [1; 0; 1; 70]; */ rtb_Gain2 = 1; index_start_0 = 0; i = 1; rtb_Y_l_idx_3 = 70; break; case 80U: /* : case 80 */ /* : Y = [1; 0; 0; 80]; */ rtb_Gain2 = 1; index_start_0 = 0; i = 0; rtb_Y_l_idx_3 = 80; break; case 90U: /* : case 90 */ /* : Y = [1; 1; 1; 90]; */ rtb_Gain2 = 1; index_start_0 = 1; i = 1; rtb_Y_l_idx_3 = 90; break; case 100U: /* : case 100 */ /* : Y = [1; 1; 0; 100]; */ rtb_Gain2 = 1; index_start_0 = 1; i = 0; rtb_Y_l_idx_3 = 100; break; case 110U: /* : case 110 */ /* : Y = [0; 1; 1; 110]; */ rtb_Gain2 = 0; index_start_0 = 1; i = 1; rtb_Y_l_idx_3 = 110; break; default: /* : otherwise */ /* : Y = [0; 0; 0; 0]; */ rtb_Gain2 = 0; index_start_0 = 0; i = 0; rtb_Y_l_idx_3 = 0; break; } /* End of MATLAB Function: '/direction for front index mode' */ /* DataStoreWrite: '/Data Store Write' incorporates: * DataTypeConversion: '/Data Type Conversion' */ rtDW.CCU_DEF_FL = (uint8_t)rtb_Gain2; /* DataStoreWrite: '/Data Store Write1' incorporates: * DataStoreWrite: '/Data Store Write' * DataTypeConversion: '/Data Type Conversion' */ rtDW.CCU_DEF_FR = (uint8_t)rtb_Gain2; /* DataStoreWrite: '/Data Store Write2' incorporates: * DataTypeConversion: '/Data Type Conversion' */ rtDW.CCU_FACE_FR = (uint8_t)index_start_0; /* DataStoreWrite: '/Data Store Write3' incorporates: * DataTypeConversion: '/Data Type Conversion' */ rtDW.CCU_FOOT_FR = (uint8_t)i; /* Switch: '/Switch' incorporates: * DataStoreWrite: '/Data Store Write4' * DataTypeConversion: '/Data Type Conversion' */ rtDW.Index_mode_FR_manual = (uint8_t)rtb_Y_l_idx_3; /* MATLAB Function: '/AF VENT' */ AFVENT(rtb_out_cwe); /* MATLAB Function: '/AF Bi level' */ AFBilevel(rtb_out_hi1); /* MATLAB Function: '/AF Bi level 2' */ AFBilevel2(rtb_out_ma1); /* MATLAB Function: '/AF AutoFoot' */ AFAutoFoot(rtb_out_po3); /* MATLAB Function: '/AF AutoFoot summer' */ AFAutoFootsummer(rtb_out_hpp); /* MATLAB Function: '/AF Foot' */ AFFoot(rtb_out_pj); /* MATLAB Function: '/AF Foot + Def' */ AFFootDef(rtb_out_cc4); /* MATLAB Function: '/AF Defrost' */ AFDefrost(rtb_out_fey); /* MATLAB Function: '/AF Tri mode' */ AFTrimode(rtb_out_mzr); /* MATLAB Function: '/AF Hi (def + vent)' */ AFHidefvent(rtb_out_ojrr); /* MATLAB Function: '/AF VENT (fail safe)' */ AFVENT(rtb_out_eix); /* MultiPortSwitch: '/Multiport Switch' incorporates: * DataStoreRead: '/Data Store Read' */ switch (rtDW.Index_mode_FR_auto) { case 10: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cwe[i]; } break; case 20: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hi1[i]; } break; case 30: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ma1[i]; } break; case 40: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_po3[i]; } break; case 50: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_hpp[i]; } break; case 60: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_pj[i]; } break; case 70: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_cc4[i]; } break; case 80: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_fey[i]; } break; case 90: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_mzr[i]; } break; case 100: for (i = 0; i < 8; i++) { rtb_out_eix[i] = rtb_out_ojrr[i]; } break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* MATLAB Function: '/closest speed' incorporates: * DataStoreRead: '/Data Store Read2' */ closestspeed(rtb_out_eix, Gain1, &rtb_DataTypeConversion3_gz); /* DataStoreWrite: '/Data Store Write5' */ rtDW.CCU_BLOWERS_FR = rtb_DataTypeConversion3_gz; } /* End of RelationalOperator: '/FixPt Relational Operator' */ /* End of Outputs for SubSystem: '/Determine directions FR' */ /* Outputs for Atomic SubSystem: '/AromaLogic' */ /* MATLAB Function: '/ccuAromaLogic' */ /* : AROMA_CFG_PRESENT = 0x01; */ /* : ALGO_CFG_STANDARD = 0x00; */ /* : ALGO_CFG_LIMOUSINE = 0x01; */ /* : CAL_VARIANT_SEDANL = 1; */ /* : CAL_VARIANT_LIMO = 3; */ /* : CAL_VARIANT_MPV = 5; */ /* : FIU_AROMA_REQ_ON = 0x1; */ /* : FIU_AROMA_REQ_OFF = 0x2; */ /* : FAULT_NONE = uint8(0x0); */ /* : FAULT_HVAC_FAN_OFF = uint8(0x1); */ /* : FAULT_HVAC_FAN_LOW = uint8(0x2); */ /* : FAULT_HVAC_FAN_HIGH = uint8(0x3); */ /* : FAULT_CARTRIDGE = uint8(0x4); */ /* : FAULT_COMM_OR_HW = uint8(0x5); */ /* : if isempty(savedIntensity) */ /* : if isempty(prevAromaIntensStat) */ /* : CCU_GloveBox_Stat = uint8(0); */ /* : CCU_AromaCartridgeFlavor_Stat = uint8(0); */ /* : CCU_AromaCartridgeCapacity_Stat = uint8(0); */ /* : CCU_AromaFaultReason_Stat = FAULT_NONE; */ rtb_DataTypeConversion3_gz = 0U; /* : CCU_AromaIntens_Stat = uint8(0); */ rtb_DataTypeConversion2_au = 0U; /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write32' * MATLAB Function: '/ccuAromaLogic' */ /* : CCU_AromaIntens_Req = uint8(0); */ rtDW.LIN4_CCU_Req_Model.CCU_AromaIntens_Req = 0U; /* MATLAB Function: '/ccuAromaLogic' incorporates: * Constant: '/auto1' * Constant: '/auto3' * Constant: '/auto5' * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read4' * DataStoreRead: '/Data Store Read5' * DataStoreRead: '/Data Store Read57' * DataStoreRead: '/Data Store Read6' * DataStoreRead: '/Data Store Read77' * Gain: '/Gain' * Gain: '/Gain1' */ /* : if (aromaConfig ~= AROMA_CFG_PRESENT) || ... */ /* : (CAL_VARIANT < CAL_VARIANT_SEDANL) || (CAL_VARIANT > CAL_VARIANT_MPV) */ if ((g_ucCAL_VARIANT < 1) || (g_ucCAL_VARIANT > 5)) { /* : savedIntensity = uint8(0); */ rtDW.savedIntensity = 0U; /* : prevAromaIntensStat = uint8(0); */ rtDW.prevAromaIntensStat = 0U; } else { /* : CCU_GloveBox_Stat = BCM_GloveBox_Stat; */ /* : CCU_AromaCartridgeFlavor_Stat = Aroma_CartridgeFlavor_Stat; */ /* : CCU_AromaCartridgeCapacity_Stat = Aroma_CartridgeCapacity_Stat; */ /* : if (CAL_VARIANT == CAL_VARIANT_SEDANL) || (CAL_VARIANT == CAL_VARIANT_LIMO) */ if ((g_ucCAL_VARIANT != 1) && (g_ucCAL_VARIANT != 3)) { /* : else */ /* : hvacFanPwm = frontHvacFanPwm; */ rtDW.PWM_rear = rtDW.PWM_front; } else { /* : hvacFanPwm = rearHvacFanPwm; */ } /* : if Aroma_CommErr_Flag */ if (rtDW.CCU_AromaErr_Stat != 0) { /* : CCU_AromaFaultReason_Stat = FAULT_COMM_OR_HW; */ rtb_DataTypeConversion3_gz = 5U; } else if ((rtDW.Aroma_CartridgeSw != 0) || (rtDW.Aroma_CartridgeCapacity == 0)) { /* : elseif (Aroma_CartridgeSw_Stat ~= 0) || (Aroma_CartridgeCapacity_Stat == 0) */ /* : CCU_AromaFaultReason_Stat = FAULT_CARTRIDGE; */ rtb_DataTypeConversion3_gz = 4U; } else if (rtDW.PWM_rear == 0) { /* : elseif hvacFanPwm == 0 */ /* : CCU_AromaFaultReason_Stat = FAULT_HVAC_FAN_OFF; */ rtb_DataTypeConversion3_gz = 1U; } else if (rtDW.PWM_rear < (uint8_t)((52429U * g_usAromaPwm_Min) >> 19)) { /* : elseif hvacFanPwm < aromaPWMmin */ /* : CCU_AromaFaultReason_Stat = FAULT_HVAC_FAN_LOW; */ rtb_DataTypeConversion3_gz = 2U; } else if (rtDW.PWM_rear > (uint8_t)((52429U * g_usAromaPwm_Max) >> 19)) { /* : elseif hvacFanPwm > aromaPWMmax */ /* : CCU_AromaFaultReason_Stat = FAULT_HVAC_FAN_HIGH; */ rtb_DataTypeConversion3_gz = 3U; } else { /* : else */ /* : CCU_AromaFaultReason_Stat = FAULT_NONE; */ } /* : if FIU_AromaIntens_Req ~= 0 */ if (rtDW.CCU_AromaIntens_stat != 0) { /* : savedIntensity = FIU_AromaIntens_Req; */ rtDW.savedIntensity = rtDW.CCU_AromaIntens_stat; } /* : if T15_On */ if (rtDW.BCM_T15_Stat != 0) { /* : CCU_AromaIntens_Stat = prevAromaIntensStat; */ rtb_DataTypeConversion2_au = rtDW.prevAromaIntensStat; } else { /* : else */ /* : CCU_AromaIntens_Stat = uint8(0); */ } /* : if (CCU_AromaFaultReason_Stat == FAULT_COMM_OR_HW) || (FIU_Aroma_Req == FIU_AROMA_REQ_OFF) */ if ((rtb_DataTypeConversion3_gz == 5) || (rtDW.CCU_Aroma == 2)) { /* : CCU_AromaIntens_Stat = uint8(0); */ rtb_DataTypeConversion2_au = 0U; /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write32' */ /* : CCU_AromaIntens_Req = uint8(0); */ rtDW.LIN4_CCU_Req_Model.CCU_AromaIntens_Req = 0U; } else { /* : else */ /* : if (CCU_AromaFaultReason_Stat ~= FAULT_COMM_OR_HW) && (FIU_Aroma_Req == FIU_AROMA_REQ_ON) */ if (rtDW.CCU_Aroma == 1) { /* : CCU_AromaIntens_Stat = savedIntensity; */ rtb_DataTypeConversion2_au = rtDW.savedIntensity; } /* : if (CCU_AromaFaultReason_Stat == FAULT_NONE) && ... */ /* : (CCU_AromaIntens_Stat ~= 0) && T15_On */ if ((rtb_DataTypeConversion3_gz == 0) && (rtb_DataTypeConversion2_au != 0) && (rtDW.BCM_T15_Stat != 0)) { /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write32' */ /* : CCU_AromaIntens_Req = CCU_AromaIntens_Stat; */ rtDW.LIN4_CCU_Req_Model.CCU_AromaIntens_Req = rtb_DataTypeConversion2_au; } else { /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write32' */ /* : else */ /* : CCU_AromaIntens_Req = uint8(0); */ rtDW.LIN4_CCU_Req_Model.CCU_AromaIntens_Req = 0U; } } /* : if T15_On */ if (rtDW.BCM_T15_Stat != 0) { /* : prevAromaIntensStat = CCU_AromaIntens_Stat; */ rtDW.prevAromaIntensStat = rtb_DataTypeConversion2_au; } } /* DataStoreWrite: '/Data Store Write1' incorporates: * MATLAB Function: '/ccuAromaLogic' */ rtDW.CCU_AromaIntens_stat = rtb_DataTypeConversion2_au; /* End of Outputs for SubSystem: '/AromaLogic' */ /* Saturate: '/Saturation' incorporates: * DataStoreRead: '/Data Store Read16' */ if (rtDW.CCU_SET_FL > 290) { rtb_out_kez = 290U; } else if (rtDW.CCU_SET_FL < 170) { rtb_out_kez = 170U; } else { rtb_out_kez = rtDW.CCU_SET_FL; } /* End of Saturate: '/Saturation' */ /* Saturate: '/Saturation1' incorporates: * DataStoreRead: '/Data Store Read17' */ if (rtDW.CCU_SET_FR > 290) { rtb_Saturation2_a = 290U; } else if (rtDW.CCU_SET_FR < 170) { rtb_Saturation2_a = 170U; } else { rtb_Saturation2_a = rtDW.CCU_SET_FR; } /* End of Saturate: '/Saturation1' */ /* Outputs for Atomic SubSystem: '/Autodemist (all-season mode and winter mode)' */ /* MATLAB Function: '/Calculate_Autodemist_Level' incorporates: * Constant: '/auto10' * Constant: '/auto11' * Constant: '/auto12' * Constant: '/auto4' * Constant: '/auto5' * Constant: '/auto6' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read6' * DataStoreRead: '/Data Store Read7' * DataStoreRead: '/Data Store Read8' * Gain: '/Gain2' * Logic: '/AND2' * Logic: '/AND3' * RelationalOperator: '/Relational Operator4' * RelationalOperator: '/Relational Operator6' * RelationalOperator: '/Relational Operator7' * RelationalOperator: '/Relational Operator8' */ /* : if isempty(current_level_FL) */ /* : if isempty(current_level_FR) */ /* : if isempty(active_mode) */ /* : if active_mode == 2 && exit_conditions_winter == 1 */ if ((rtDW.active_mode == 2.0) && ((rtDW.CCU_MODE_FL != 1) || (rtDW.AMB > 10 * g_assAUTODEMIST_WINTER[1]))) { /* : current_level_FL = 0; */ rtDW.current_level_FL = 0.0; /* : current_level_FR = 0; */ rtDW.current_level_FR = 0.0; /* : active_mode = 0; */ rtDW.active_mode = 0.0; } /* : if active_mode == 1 && exit_conditions_all_season == 1 */ if ((rtDW.active_mode == 1.0) && ((rtDW.CCU_MODE_FL != 1) || (rtDW.Dew_point > g_assAUTODEMIST_STEP_UP[0]))) { /* : current_level_FL = 0; */ rtDW.current_level_FL = 0.0; /* : current_level_FR = 0; */ rtDW.current_level_FR = 0.0; /* : active_mode = 0; */ rtDW.active_mode = 0.0; } /* : if active_mode == 0 */ guard1 = false; if (rtDW.active_mode == 0.0) { /* Logic: '/AND1' incorporates: * Constant: '/Auto' * DataStoreRead: '/Data Store Read10' * DataStoreRead: '/Data Store Read2' * Logic: '/AND' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator3' */ /* : if entry_conditions_winter == 1 */ rtb_Compare_ht = ((rtDW.CCU_MODE_FL == 1) && (rtDW.step_start_controle_front > 1) && (rtDW.ECT > 45)); if (rtb_Compare_ht && (rtDW.AMB <= 10 * g_assAUTODEMIST_WINTER[0])) { /* : active_mode = 2; */ rtDW.active_mode = 2.0; guard1 = true; } else if (rtb_Compare_ht && (rtDW.Dew_point <= g_assAUTODEMIST_STEP_UP[0])) { /* : elseif entry_conditions_all_season == 1 */ /* : active_mode = 1; */ rtDW.active_mode = 1.0; guard1 = true; } else { /* : else */ /* : new_level_FL = 0; */ index_start = 0.0; /* : new_level_FR = 0; */ rtb_Divide5 = 0.0; /* : new_active_mode = 0; */ rtb_I_od = 0.0; } } else { guard1 = true; } if (guard1) { /* : if active_mode == 2 */ if (rtDW.active_mode == 2.0) { /* : if dew_point > STEP_UP(2) */ if (rtDW.Dew_point > g_assAUTODEMIST_STEP_UP[1]) { /* : target_level = 0; */ rtb_Gain2 = 0; } else if (rtDW.Dew_point > g_assAUTODEMIST_STEP_UP[2]) { /* : elseif dew_point > STEP_UP(3) */ /* : target_level = 2; */ rtb_Gain2 = 2; } else if (rtDW.Dew_point > g_assAUTODEMIST_STEP_UP[3]) { /* : elseif dew_point > STEP_UP(4) */ /* : target_level = 3; */ rtb_Gain2 = 3; } else { /* : else */ /* : target_level = 4; */ rtb_Gain2 = 4; } } else if (rtDW.active_mode == 1.0) { /* : elseif active_mode == 1 */ /* : if dew_point > STEP_UP(1) */ if (rtDW.Dew_point > g_assAUTODEMIST_STEP_UP[0]) { /* : target_level = 0; */ rtb_Gain2 = 0; } else if (rtDW.Dew_point > g_assAUTODEMIST_STEP_UP[1]) { /* : elseif dew_point > STEP_UP(2) */ /* : target_level = 1; */ rtb_Gain2 = 1; } else if (rtDW.Dew_point > g_assAUTODEMIST_STEP_UP[2]) { /* : elseif dew_point > STEP_UP(3) */ /* : target_level = 2; */ rtb_Gain2 = 2; } else if (rtDW.Dew_point > g_assAUTODEMIST_STEP_UP[3]) { /* : elseif dew_point > STEP_UP(4) */ /* : target_level = 3; */ rtb_Gain2 = 3; } else { /* : else */ /* : target_level = 4; */ rtb_Gain2 = 4; } } else { /* : else */ /* : target_level = 0; */ rtb_Gain2 = 0; } /* : new_level_FL = current_level_FL; */ index_start = rtDW.current_level_FL; /* : if target_level > current_level_FL */ if (rtb_Gain2 > rtDW.current_level_FL) { /* : new_level_FL = target_level; */ index_start = rtb_Gain2; } else if (rtb_Gain2 < rtDW.current_level_FL) { /* : elseif target_level < current_level_FL */ /* : if current_level_FL == 4 && dew_point > STEP_DN(4) */ if ((rtDW.current_level_FL == 4.0) && (rtDW.Dew_point > g_assAUTODEMIST_STEP_DN[3])) { /* : new_level_FL = 3; */ index_start = 3.0; } else if ((rtDW.current_level_FL == 3.0) && (rtDW.Dew_point > g_assAUTODEMIST_STEP_DN[2])) { /* : elseif current_level_FL == 3 && dew_point > STEP_DN(3) */ /* : new_level_FL = 2; */ index_start = 2.0; } else if ((rtDW.current_level_FL == 2.0) && (rtDW.Dew_point > g_assAUTODEMIST_STEP_DN[1])) { /* : elseif current_level_FL == 2 && dew_point > STEP_DN(2) */ /* : new_level_FL = 1; */ index_start = 1.0; } else if ((rtDW.current_level_FL == 1.0) && (rtDW.Dew_point > g_assAUTODEMIST_STEP_DN[0])) { /* : elseif current_level_FL == 1 && dew_point > STEP_DN(1) */ /* : new_level_FL = 0; */ index_start = 0.0; } else { /* : else */ /* : new_level_FL = current_level_FL; */ /* : else */ /* : new_level_FL = current_level_FL; */ } } /* : if (FL_blower_automode == 4 || FL_blower_automode == 5) && new_level_FL > 2 */ if (((rtDW.CCU_AUTOMODE_FL == 4) || (rtDW.CCU_AUTOMODE_FL == 5)) && (index_start > 2.0)) { /* : new_level_FL = 2; */ index_start = 2.0; } /* : new_level_FR = current_level_FR; */ rtb_Divide5 = rtDW.current_level_FR; /* : if target_level > current_level_FR */ if (rtb_Gain2 > rtDW.current_level_FR) { /* : new_level_FR = target_level; */ rtb_Divide5 = rtb_Gain2; } else if (rtb_Gain2 < rtDW.current_level_FR) { /* : elseif target_level < current_level_FR */ /* : if current_level_FR == 4 && dew_point > STEP_DN(4) */ if ((rtDW.current_level_FR == 4.0) && (rtDW.Dew_point > g_assAUTODEMIST_STEP_DN[3])) { /* : new_level_FR = 3; */ rtb_Divide5 = 3.0; } else if ((rtDW.current_level_FR == 3.0) && (rtDW.Dew_point > g_assAUTODEMIST_STEP_DN[2])) { /* : elseif current_level_FR == 3 && dew_point > STEP_DN(3) */ /* : new_level_FR = 2; */ rtb_Divide5 = 2.0; } else if ((rtDW.current_level_FR == 2.0) && (rtDW.Dew_point > g_assAUTODEMIST_STEP_DN[1])) { /* : elseif current_level_FR == 2 && dew_point > STEP_DN(2) */ /* : new_level_FR = 1; */ rtb_Divide5 = 1.0; } else if ((rtDW.current_level_FR == 1.0) && (rtDW.Dew_point > g_assAUTODEMIST_STEP_DN[0])) { /* : elseif current_level_FR == 1 && dew_point > STEP_DN(1) */ /* : new_level_FR = 0; */ rtb_Divide5 = 0.0; } else { /* : else */ /* : new_level_FR = current_level_FR; */ /* : else */ /* : new_level_FR = current_level_FR; */ } } /* : if (FR_blower_automode == 4 || FR_blower_automode == 5) && new_level_FR > 2 */ if (((rtDW.CCU_AUTOMODE_FR == 4) || (rtDW.CCU_AUTOMODE_FR == 5)) && (rtb_Divide5 > 2.0)) { /* : new_level_FR = 2; */ rtb_Divide5 = 2.0; } /* : current_level_FL = new_level_FL; */ rtDW.current_level_FL = index_start; /* : current_level_FR = new_level_FR; */ rtDW.current_level_FR = rtb_Divide5; /* : new_active_mode = active_mode; */ rtb_I_od = rtDW.active_mode; } /* MATLAB Function: '/MATLAB Function' incorporates: * MATLAB Function: '/Calculate_Autodemist_Level' */ /* : if active_mode == 2 */ if (rtb_I_od == 2.0) { /* : lvl_winter = uint8(autodemist_lvl_FL); */ rtb_I_od = rt_roundd(index_start); if (rtb_I_od < 256.0) { if (rtb_I_od >= 0.0) { /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write' */ rtDW.dbgCAN_Logic_State_model.Logic_AutoDemist_Lv_Winter = (uint8_t) rtb_I_od; } else { /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write' */ rtDW.dbgCAN_Logic_State_model.Logic_AutoDemist_Lv_Winter = 0U; } } else { /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write' */ rtDW.dbgCAN_Logic_State_model.Logic_AutoDemist_Lv_Winter = UINT8_MAX; } /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write' * MATLAB Function: '/Calculate_Autodemist_Level' */ /* : lvl_summer = uint8(0); */ rtDW.dbgCAN_Logic_State_model.Logic_AutoDemist_Lv_Summer = 0U; } else if (rtb_I_od == 1.0) { /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write' */ /* : elseif active_mode == 1 */ /* : lvl_winter = uint8(0); */ rtDW.dbgCAN_Logic_State_model.Logic_AutoDemist_Lv_Winter = 0U; /* : lvl_summer = uint8(autodemist_lvl_FL); */ rtb_I_od = rt_roundd(index_start); if (rtb_I_od < 256.0) { if (rtb_I_od >= 0.0) { /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write' */ rtDW.dbgCAN_Logic_State_model.Logic_AutoDemist_Lv_Summer = (uint8_t) rtb_I_od; } else { /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write' */ rtDW.dbgCAN_Logic_State_model.Logic_AutoDemist_Lv_Summer = 0U; } } else { /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write' */ rtDW.dbgCAN_Logic_State_model.Logic_AutoDemist_Lv_Summer = UINT8_MAX; } } else { /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write' */ /* : else */ /* : lvl_winter = uint8(0); */ rtDW.dbgCAN_Logic_State_model.Logic_AutoDemist_Lv_Winter = 0U; /* : lvl_summer = uint8(0); */ rtDW.dbgCAN_Logic_State_model.Logic_AutoDemist_Lv_Summer = 0U; } /* End of MATLAB Function: '/MATLAB Function' */ /* Logic: '/AND5' incorporates: * Constant: '/auto13' * Constant: '/auto14' * DataStoreRead: '/Data Store Read1' * DataStoreWrite: '/Data Store Write23' * Logic: '/AND4' * RelationalOperator: '/Relational Operator10' * RelationalOperator: '/Relational Operator11' * RelationalOperator: '/Relational Operator9' */ rtb_LogicalOperator_fc = (((rtDW.CCU_MODE_FL == 0) || (rtDW.CCU_MODE_FL == 2)) && (rtb_out_n1[8] == 100)); /* Gain: '/Gain4' incorporates: * DataStoreRead: '/Data Store Read8' */ rtb_Switch2_nb = (int16_t)((13107 * rtDW.AMB) >> 17); /* Gain: '/Gain' incorporates: * Gain: '/Gain4' * Lookup_n-D: '/AUTODEMIST_OFFSET_VENT_TEMP' */ rtb_Switch6_c = (int16_t)(10 * look1_is16lu64n32Ds32_binlcs(rtb_Switch2_nb, &g_assAUTODEMIST_OFFSET_AMB_TEMP[0], &g_assAUTODEMIST_OFFSET_VENT_TEMP[0], 8U)); /* Lookup_n-D: '/FL_AUTODEMIST_OFFSET_VENT_TEMP (percentage)' incorporates: * Saturate: '/Saturation' */ rtb_FL_AUTODEMIST_OFFSET_VENT_TEMPpercentage = look1_iu16bs16lu64n32ts16Ds32_binlcs(rtb_out_kez, rtConstP.pooled59, rtConstP.pooled58, 3U); /* MATLAB Function: '/Autodemist_Actions_FL' incorporates: * Constant: '/auto7' * Constant: '/auto8' * DataStoreRead: '/Data Store Read4' * DataStoreWrite: '/Data Store Write' * MATLAB Function: '/Calculate_Autodemist_Level' */ /* : recirculation_auto = false; */ /* : ac_on = false; */ rtb_Compare_jv1 = false; /* : fl_blower_af = uint16(0); */ rtDW.FL_blower_AF_offset_autodemist = 0U; /* : def_valve = false; */ rtb_Compare_ht = false; /* : flu_duct_target = int16(0); */ rtDW.FLU_duct_target_offset_autodemist = 0; /* : max_def_active_and_rate_15 = false; */ rtb_Compare_h2 = false; /* : if new_level_FL >= 1 && new_level_FL <= 3 */ if ((index_start >= 1.0) && (index_start <= 3.0)) { /* : recirculation_auto = true; */ /* : ac_on = true; */ rtb_Compare_jv1 = true; /* : if new_level_FL >= 2 */ if (index_start >= 2.0) { /* : def_valve = true; */ rtb_Compare_ht = true; } } /* : if new_level_FL == 2 */ if (index_start == 2.0) { /* : fl_blower_af = uint16(pct_of(fl_blower_current, AUTODEMIST_LV2_BLR_PLUS)); */ /* : result = int16(round(double(number) * (double(percent) / 100))); */ rtb_Gain2 = (int32_t)rt_roundd((double)g_usAUTODEMIST_LV2_BLR_PLUS / 100.0 * (double)rtb_Saturation_as); if (rtb_Gain2 < 32768) { rtDW.FL_blower_AF_offset_autodemist = (uint16_t)rtb_Gain2; } else { rtDW.FL_blower_AF_offset_autodemist = 32767U; } /* : if (fl_temperature_set > 200) */ if (rtb_out_kez > 200) { /* : flu_duct_target = total_offset_vent; */ rtDW.FLU_duct_target_offset_autodemist = rtb_Switch6_c; } else { /* : else */ /* : flu_duct_target = pct_of(total_offset_vent, temp_percentage_vent); */ /* : result = int16(round(double(number) * (double(percent) / 100))); */ rtb_Gain2 = (int32_t)rt_roundd((double) rtb_FL_AUTODEMIST_OFFSET_VENT_TEMPpercentage / 100.0 * (double) rtb_Switch6_c); if (rtb_Gain2 < 32768) { if (rtb_Gain2 >= -32768) { rtDW.FLU_duct_target_offset_autodemist = (int16_t)rtb_Gain2; } else { rtDW.FLU_duct_target_offset_autodemist = INT16_MIN; } } else { rtDW.FLU_duct_target_offset_autodemist = INT16_MAX; } } } /* : if new_level_FL == 3 */ if (index_start == 3.0) { /* : fl_blower_af = uint16(pct_of(fl_blower_current, AUTODEMIST_LV3_BLR_PLUS)); */ /* : result = int16(round(double(number) * (double(percent) / 100))); */ rtb_Gain2 = (int32_t)rt_roundd((double)g_usAUTODEMIST_LV3_BLR_PLUS / 100.0 * (double)rtb_Saturation_as); if (rtb_Gain2 < 32768) { rtDW.FL_blower_AF_offset_autodemist = (uint16_t)rtb_Gain2; } else { rtDW.FL_blower_AF_offset_autodemist = 32767U; } /* : if (fl_temperature_set > 200) */ if (rtb_out_kez > 200) { /* : flu_duct_target = total_offset_vent; */ rtDW.FLU_duct_target_offset_autodemist = rtb_Switch6_c; } else { /* : else */ /* : flu_duct_target = pct_of(total_offset_vent, temp_percentage_vent); */ /* : result = int16(round(double(number) * (double(percent) / 100))); */ rtb_Gain2 = (int32_t)rt_roundd((double) rtb_FL_AUTODEMIST_OFFSET_VENT_TEMPpercentage / 100.0 * (double) rtb_Switch6_c); if (rtb_Gain2 < 32768) { if (rtb_Gain2 >= -32768) { rtDW.FLU_duct_target_offset_autodemist = (int16_t)rtb_Gain2; } else { rtDW.FLU_duct_target_offset_autodemist = INT16_MIN; } } else { rtDW.FLU_duct_target_offset_autodemist = INT16_MAX; } } } /* : if new_level_FL == 4 */ if (index_start == 4.0) { /* : flu_duct_target = int16(0); */ rtDW.FLU_duct_target_offset_autodemist = 0; /* : fl_blower_af = uint16(0); */ rtDW.FL_blower_AF_offset_autodemist = 0U; /* : max_def_active_and_rate_15 = true; */ rtb_Compare_h2 = true; } /* End of MATLAB Function: '/Autodemist_Actions_FL' */ /* Lookup_n-D: '/FR_AUTODEMIST_OFFSET_VENT_TEMP (percentage)' incorporates: * Saturate: '/Saturation1' */ rtb_FL_AUTODEMIST_OFFSET_VENT_TEMPpercentage = look1_iu16bs16lu64n32ts16Ds32_binlcs(rtb_Saturation2_a, rtConstP.pooled59, rtConstP.pooled58, 3U); /* MATLAB Function: '/Autodemist_Actions_FR' incorporates: * Constant: '/auto7' * Constant: '/auto8' * DataStoreRead: '/Data Store Read5' * DataStoreWrite: '/Data Store Write1' * MATLAB Function: '/Calculate_Autodemist_Level' */ /* : recirculation_auto = false; */ /* : ac_on = false; */ rtb_Compare_jve = false; /* : fr_blower_af = uint16(0); */ rtDW.FR_blower_AF_offset_autodemist = 0U; /* : def_valve = false; */ rtb_Compare_lq = false; /* : fru_duct_target = int16(0); */ rtDW.FRU_duct_target_offset_autodemist = 0; /* : max_def_active_and_rate_15 = false; */ rtb_Compare_bu = false; /* : if new_level_FR >= 1 && new_level_FR <= 3 */ if ((rtb_Divide5 >= 1.0) && (rtb_Divide5 <= 3.0)) { /* : recirculation_auto = true; */ /* : ac_on = true; */ rtb_Compare_jve = true; /* : if new_level_FR >= 2 */ if (rtb_Divide5 >= 2.0) { /* : def_valve = true; */ rtb_Compare_lq = true; } } /* : if new_level_FR == 2 */ if (rtb_Divide5 == 2.0) { /* : fr_blower_af = uint16(pct_of(fr_blower_current, AUTODEMIST_LV2_BLR_PLUS)); */ /* : result = int16(round(double(number) * (double(percent) / 100))); */ rtb_Gain2 = (int32_t)rt_roundd((double)g_usAUTODEMIST_LV2_BLR_PLUS / 100.0 * (double)Gain1); if (rtb_Gain2 < 32768) { rtDW.FR_blower_AF_offset_autodemist = (uint16_t)rtb_Gain2; } else { rtDW.FR_blower_AF_offset_autodemist = 32767U; } /* : if (fr_temperature_set > 200) */ if (rtb_Saturation2_a > 200) { /* : fru_duct_target = total_offset_vent; */ rtDW.FRU_duct_target_offset_autodemist = rtb_Switch6_c; } else { /* : else */ /* : fru_duct_target = pct_of(total_offset_vent, temp_percentage_vent); */ /* : result = int16(round(double(number) * (double(percent) / 100))); */ rtb_Gain2 = (int32_t)rt_roundd((double) rtb_FL_AUTODEMIST_OFFSET_VENT_TEMPpercentage / 100.0 * (double) rtb_Switch6_c); if (rtb_Gain2 < 32768) { if (rtb_Gain2 >= -32768) { rtDW.FRU_duct_target_offset_autodemist = (int16_t)rtb_Gain2; } else { rtDW.FRU_duct_target_offset_autodemist = INT16_MIN; } } else { rtDW.FRU_duct_target_offset_autodemist = INT16_MAX; } } } /* : if new_level_FR == 3 */ if (rtb_Divide5 == 3.0) { /* : fr_blower_af = uint16(pct_of(fr_blower_current, AUTODEMIST_LV3_BLR_PLUS)); */ /* : result = int16(round(double(number) * (double(percent) / 100))); */ rtb_Gain2 = (int32_t)rt_roundd((double)g_usAUTODEMIST_LV3_BLR_PLUS / 100.0 * (double)Gain1); if (rtb_Gain2 < 32768) { rtDW.FR_blower_AF_offset_autodemist = (uint16_t)rtb_Gain2; } else { rtDW.FR_blower_AF_offset_autodemist = 32767U; } /* : if (fr_temperature_set > 200) */ if (rtb_Saturation2_a > 200) { /* : fru_duct_target = total_offset_vent; */ rtDW.FRU_duct_target_offset_autodemist = rtb_Switch6_c; } else { /* : else */ /* : fru_duct_target = pct_of(total_offset_vent, temp_percentage_vent); */ /* : result = int16(round(double(number) * (double(percent) / 100))); */ rtb_Gain2 = (int32_t)rt_roundd((double) rtb_FL_AUTODEMIST_OFFSET_VENT_TEMPpercentage / 100.0 * (double) rtb_Switch6_c); if (rtb_Gain2 < 32768) { if (rtb_Gain2 >= -32768) { rtDW.FRU_duct_target_offset_autodemist = (int16_t)rtb_Gain2; } else { rtDW.FRU_duct_target_offset_autodemist = INT16_MIN; } } else { rtDW.FRU_duct_target_offset_autodemist = INT16_MAX; } } } /* : if new_level_FR == 4 */ if (rtb_Divide5 == 4.0) { /* : fru_duct_target = int16(0); */ rtDW.FRU_duct_target_offset_autodemist = 0; /* : fr_blower_af = uint16(0); */ rtDW.FR_blower_AF_offset_autodemist = 0U; /* : max_def_active_and_rate_15 = true; */ rtb_Compare_bu = true; } /* End of MATLAB Function: '/Autodemist_Actions_FR' */ /* Logic: '/Logical Operator1' incorporates: * DataStoreWrite: '/Data Store Write5' */ rtDW.AC_front_on_req_from_autodemist = (rtb_Compare_jv1 || rtb_Compare_jve); /* Logic: '/Logical Operator3' incorporates: * DataStoreWrite: '/Data Store Write7' */ rtDW.def_valve_100_req = (rtb_Compare_ht || rtb_Compare_lq); /* Switch: '/Switch' incorporates: * Gain: '/Gain4' * Lookup_n-D: '/AUTODEMIST_OFFSET_LEFT' * Lookup_n-D: '/AUTODEMIST_OFFSET_RIGHT' * Switch: '/Switch1' */ if (rtb_LogicalOperator_fc) { rtDW.FLU_duct_target_offset_autodemist = look1_is16lu64n32Ds32_binlcs (rtb_Switch2_nb, rtConstP.pooled57, &g_assDUCT_TGT_DEF_VALVE_L[0], 10U); rtDW.FRU_duct_target_offset_autodemist = look1_is16lu64n32Ds32_binlcs (rtb_Switch2_nb, rtConstP.pooled57, &g_assDUCT_TGT_DEF_VALVE_R[0], 10U); } /* End of Switch: '/Switch' */ /* End of Outputs for SubSystem: '/Autodemist (all-season mode and winter mode)' */ /* DataStoreWrite: '/Data Store Write' */ rtDW.eCompChiller_Err = 0.0; /* Gain: '/Gain' incorporates: * DataStoreRead: '/Data Store Read10' * DataStoreWrite: '/Data Store Write' */ rtDW.eComp_InputC = (uint16_t) (rtDW.HVC_ERR_STATUS_MSG_MODEL.HVC_CompInputC_Val_ro << 7); /* Bias: '/Bias' incorporates: * DataStoreRead: '/Data Store Read10' * DataStoreWrite: '/Data Store Write' * DataTypeConversion: '/Data Type Conversion' */ rtDW.eComp_Temp = (int16_t) (rtDW.HVC_ERR_STATUS_MSG_MODEL.HVC_CompInvTemp_Val_ro - 50); /* If: '/If' incorporates: * DataStoreRead: '/Data Store Read' * RelationalOperator: '/Relational Operator' * SignalConversion generated from: '/Bus Selector3' */ if (rtDW.CCUCAN_BCM_Powertrain_model.BCM_AmbTempRaw_ro == 65534) { /* Outputs for IfAction SubSystem: '/sensor error' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.CCU_AmbTempSensErr_Stat = 1U; /* SignalConversion generated from: '/Out1' incorporates: * Constant: '/failsafe = 10C after factor and offset' */ rtb_Saturation2_a = 5000U; /* End of Outputs for SubSystem: '/sensor error' */ } else { /* Outputs for IfAction SubSystem: '/sensor OK' incorporates: * ActionPort: '/Action Port' */ /* SignalConversion generated from: '/In1' */ rtb_Saturation2_a = rtDW.CCUCAN_BCM_Powertrain_model.BCM_AmbTempRaw_ro; /* End of Outputs for SubSystem: '/sensor OK' */ } /* End of If: '/If' */ /* DataTypeConversion: '/Data Type Conversion1' incorporates: * Bias: '/Bias' * DataStoreWrite: '/Data Store Write' * DataTypeConversion: '/Data Type Conversion' * Gain: '/Gain1' * Gain: '/Gain2' */ rtb_Switch6_c = (int16_t)floor((0.01 * (double)rtb_Saturation2_a - 40.0) * 10.0); /* MATLAB Function: '/is 3 sec after T15 passed' incorporates: * DataStoreRead: '/Data Store Read15' * DataStoreRead: '/Data Store Read1' */ is3secafterT15passed(rtDW.t_now, rtDW.BCM_T15_Stat, &rtb_LogicalOperator_fc, &rtDW.sf_is3secafterT15passed_k); /* If: '/If' */ if (rtb_LogicalOperator_fc) { /* Outputs for IfAction SubSystem: '/Фильтрация температуры' incorporates: * ActionPort: '/Action Port' */ /* Lookup_n-D: '/Get LVL for temp' incorporates: * DataStoreWrite: '/Data Store Write' * DataTypeConversion: '/Data Type Conversion1' */ rtb_Switch2_nb = rtConstP.pooled60[plook_u32s16_bincka(rtb_Switch6_c, rtConstP.GetLVLfortemp_bp01Data, 5U)]; /* If: '/If1' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write' */ if (rtDW.KEEP_RISING_UNTIL_LIMIT > 0.0) { /* Outputs for IfAction SubSystem: '/включен ускоренный режим' incorporates: * ActionPort: '/Action Port' */ u_p(rtb_Switch6_c, rtb_Switch2_nb, &rtb_DataTypeConversion2_au, &rtDW.AMB_store, &rtDW.KEEP_RISING_UNTIL_LIMIT); /* End of Outputs for SubSystem: '/включен ускоренный режим' */ } else { /* Outputs for IfAction SubSystem: '/обычный режим' incorporates: * ActionPort: '/Action Port' */ u_g2(rtb_Switch6_c, rtb_Switch2_nb, &rtb_DataTypeConversion2_au, &rtDW.AMB_store, &rtDW.KEEP_RISING_UNTIL_LIMIT); /* End of Outputs for SubSystem: '/обычный режим' */ } /* End of If: '/If1' */ /* If: '/If1' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write' */ if (rtDW.KEEP_FALLING_UNTIL_LIMIT > 0.0) { /* Outputs for IfAction SubSystem: '/включен ускоренный режим' incorporates: * ActionPort: '/Action Port' */ u_kb(rtb_Switch6_c, rtb_Switch2_nb, &rtb_DataTypeConversion3_it, &rtDW.AMB_store, &rtDW.KEEP_FALLING_UNTIL_LIMIT); /* End of Outputs for SubSystem: '/включен ускоренный режим' */ } else { /* Outputs for IfAction SubSystem: '/обычный режим' incorporates: * ActionPort: '/Action Port' */ u_my(rtb_Switch6_c, rtb_Switch2_nb, &rtb_DataTypeConversion3_it, &rtDW.AMB_store, &rtDW.KEEP_FALLING_UNTIL_LIMIT); /* End of Outputs for SubSystem: '/обычный режим' */ } /* End of If: '/If1' */ /* Sum: '/Subtract' incorporates: * DataStoreRead: '/Data Store Read15' * UnitDelay: '/Unit Delay' */ rtb_Subtract = rtDW.t_now - rtDW.UnitDelay_DSTATE_c; /* If: '/If' incorporates: * DataStoreRead: '/Data Store Read12' * DataStoreRead: '/Data Store Read' */ /* : f_g_ssAMBFILT_WATER = g_ssAMBFILT_WATER; */ if ((rtDW.VehicleSpeed > 45) && (rtDW.KEEP_UNTIL_SPEED_DROPS > 0)) { /* Outputs for IfAction SubSystem: '/Быстро из-за флага' incorporates: * ActionPort: '/Action Port' */ /* If: '/If1' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write' */ if (rtDW.KEEP_RISING_UNTIL_LIMIT > 0.0) { /* Outputs for IfAction SubSystem: '/включен ускоренный режим' incorporates: * ActionPort: '/Action Port' */ u_p(rtb_Switch6_c, rtb_Switch2_nb, &rtb_Merge_c5, &rtDW.AMB_store, &rtDW.KEEP_RISING_UNTIL_LIMIT); /* End of Outputs for SubSystem: '/включен ускоренный режим' */ } else { /* Outputs for IfAction SubSystem: '/обычный режим' incorporates: * ActionPort: '/Action Port' */ u_g2(rtb_Switch6_c, rtb_Switch2_nb, &rtb_Merge_c5, &rtDW.AMB_store, &rtDW.KEEP_RISING_UNTIL_LIMIT); /* End of Outputs for SubSystem: '/обычный режим' */ } /* End of If: '/If1' */ /* If: '/If1' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write' */ if (rtDW.KEEP_FALLING_UNTIL_LIMIT > 0.0) { /* Outputs for IfAction SubSystem: '/включен ускоренный режим' incorporates: * ActionPort: '/Action Port' */ u_kb(rtb_Switch6_c, rtb_Switch2_nb, &rtb_Merge_m4, &rtDW.AMB_store, &rtDW.KEEP_FALLING_UNTIL_LIMIT); /* End of Outputs for SubSystem: '/включен ускоренный режим' */ } else { /* Outputs for IfAction SubSystem: '/обычный режим' incorporates: * ActionPort: '/Action Port' */ u_my(rtb_Switch6_c, rtb_Switch2_nb, &rtb_Merge_m4, &rtDW.AMB_store, &rtDW.KEEP_FALLING_UNTIL_LIMIT); /* End of Outputs for SubSystem: '/обычный режим' */ } /* End of If: '/If1' */ /* Switch: '/Switch1' incorporates: * Abs: '/Abs' * Constant: '/epsilon' * DataStoreRead: '/Read Amb' * DataStoreWrite: '/Data Store Write' * RelationalOperator: '/AMBraw > AMB' * RelationalOperator: '/Relational Operator' * Sum: '/Add' * Switch: '/Switch' */ if (fabs((double)rtb_Switch6_c - rtDW.AMB_store) <= 0.01) { /* SignalConversion generated from: '/AMB_new' */ index_start = rtDW.AMB_store; } else { if (rtb_Switch6_c > rtDW.AMB_store) { /* Switch: '/Switch' incorporates: * DataTypeConversion: '/Data Type Conversion' */ rtb_Switch2_nb = rtb_Merge_c5; } else { /* Switch: '/Switch' incorporates: * DataTypeConversion: '/Data Type Conversion' * UnaryMinus: '/Unary Minus' */ rtb_Switch2_nb = (int16_t)-rtb_Merge_m4; } /* SignalConversion generated from: '/AMB_new' incorporates: * Constant: '/Constant' * Product: '/Divide' * Product: '/Product' * Sum: '/Add' * Switch: '/Switch' */ index_start = (double)rtb_Subtract / 60000.0 * (double)rtb_Switch2_nb + rtDW.AMB_store; } /* End of Switch: '/Switch1' */ /* End of Outputs for SubSystem: '/Быстро из-за флага' */ } else if (rtDW.VehicleSpeed > 50) { /* Outputs for IfAction SubSystem: '/Быстро из-за скорости' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.KEEP_UNTIL_SPEED_DROPS = 1U; /* If: '/If1' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write' */ if (rtDW.KEEP_RISING_UNTIL_LIMIT > 0.0) { /* Outputs for IfAction SubSystem: '/включен ускоренный режим' incorporates: * ActionPort: '/Action Port' */ u_p(rtb_Switch6_c, rtb_Switch2_nb, &rtb_Merge_c5, &rtDW.AMB_store, &rtDW.KEEP_RISING_UNTIL_LIMIT); /* End of Outputs for SubSystem: '/включен ускоренный режим' */ } else { /* Outputs for IfAction SubSystem: '/обычный режим' incorporates: * ActionPort: '/Action Port' */ u_g2(rtb_Switch6_c, rtb_Switch2_nb, &rtb_Merge_c5, &rtDW.AMB_store, &rtDW.KEEP_RISING_UNTIL_LIMIT); /* End of Outputs for SubSystem: '/обычный режим' */ } /* End of If: '/If1' */ /* If: '/If1' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write' */ if (rtDW.KEEP_FALLING_UNTIL_LIMIT > 0.0) { /* Outputs for IfAction SubSystem: '/включен ускоренный режим' incorporates: * ActionPort: '/Action Port' */ u_kb(rtb_Switch6_c, rtb_Switch2_nb, &rtb_Merge_m4, &rtDW.AMB_store, &rtDW.KEEP_FALLING_UNTIL_LIMIT); /* End of Outputs for SubSystem: '/включен ускоренный режим' */ } else { /* Outputs for IfAction SubSystem: '/обычный режим' incorporates: * ActionPort: '/Action Port' */ u_my(rtb_Switch6_c, rtb_Switch2_nb, &rtb_Merge_m4, &rtDW.AMB_store, &rtDW.KEEP_FALLING_UNTIL_LIMIT); /* End of Outputs for SubSystem: '/обычный режим' */ } /* End of If: '/If1' */ /* Switch: '/Switch1' incorporates: * Abs: '/Abs' * Constant: '/epsilon' * DataStoreRead: '/Read Amb' * DataStoreWrite: '/Data Store Write' * RelationalOperator: '/AMBraw > AMB' * RelationalOperator: '/Relational Operator' * Sum: '/Add' * Switch: '/Switch' */ if (fabs((double)rtb_Switch6_c - rtDW.AMB_store) <= 0.01) { /* SignalConversion generated from: '/AMB_new' */ index_start = rtDW.AMB_store; } else { if (rtb_Switch6_c > rtDW.AMB_store) { /* Switch: '/Switch' incorporates: * DataTypeConversion: '/Data Type Conversion' */ rtb_Switch2_nb = rtb_Merge_c5; } else { /* Switch: '/Switch' incorporates: * DataTypeConversion: '/Data Type Conversion' * UnaryMinus: '/Unary Minus' */ rtb_Switch2_nb = (int16_t)-rtb_Merge_m4; } /* SignalConversion generated from: '/AMB_new' incorporates: * Constant: '/Constant' * Product: '/Divide' * Product: '/Product' * Sum: '/Add' * Switch: '/Switch' */ index_start = (double)rtb_Subtract / 60000.0 * (double)rtb_Switch2_nb + rtDW.AMB_store; } /* End of Switch: '/Switch1' */ /* End of Outputs for SubSystem: '/Быстро из-за скорости' */ } else { /* Outputs for IfAction SubSystem: '/Медленно' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant1' */ rtDW.KEEP_UNTIL_SPEED_DROPS = 0U; /* MATLAB Function: '/границы' */ /* : rate_at_10 = 0.5; */ /* : rate_at_50 = double(g_aucAMBRATE_RISING(lvl + 1)) ; */ /* : f_lower_upper_bounds = [rate_at_10, rate_at_50]; */ rtb_f_lower_upper_bounds[0] = 0.5; rtb_Gain2 = rtb_Switch2_nb + 1; if (rtb_Switch2_nb + 1 > 32767) { rtb_Gain2 = 32767; } rtb_f_lower_upper_bounds[1] = g_aucAMBRATE_RISING[rtb_Gain2 - 1]; /* MATLAB Function: '/обычное понижение темп.' */ /* : fprintf("lvl = %d\n", lvl); */ printf("lvl = %d\n", rtb_Switch2_nb); fflush(stdout); /* Switch: '/Switch1' incorporates: * Abs: '/Abs' * Constant: '/Constant' * Constant: '/epsilon' * DataStoreRead: '/Read Amb' * DataStoreWrite: '/Data Store Write' * Product: '/Divide' * Product: '/Product' * RelationalOperator: '/AMBraw > AMB' * RelationalOperator: '/Relational Operator' * Sum: '/Add' * Sum: '/Add' * Switch: '/Switch' */ /* : f_g_aucAMBRATE_FALLING = g_aucAMBRATE_FALLING(lvl + 1); */ if (fabs((double)rtb_Switch6_c - rtDW.AMB_store) <= 0.01) { index_start = rtb_Switch6_c; } else { if (rtb_Switch6_c > rtDW.AMB_store) { /* Switch: '/Скорость >10' incorporates: * Constant: '/Constant' * Switch: '/Switch' */ if (rtDW.VehicleSpeed > 10) { /* Lookup_n-D: '/1-D Lookup Table1' incorporates: * DataStoreRead: '/Data Store Read12' */ index_start = look1_iu16td_binlc(rtDW.VehicleSpeed, rtConstP.uDLookupTable1_bp01Data, rtb_f_lower_upper_bounds, 1U); } else { index_start = 0.5; } /* End of Switch: '/Скорость >10' */ } else { /* MATLAB Function: '/обычное понижение темп.' incorporates: * MATLAB Function: '/границы' */ rtb_Gain2 = rtb_Switch2_nb + 1; if (rtb_Switch2_nb + 1 > 32767) { rtb_Gain2 = 32767; } /* Switch: '/Switch' incorporates: * DataTypeConversion: '/Data Type Conversion' * MATLAB Function: '/обычное понижение темп.' * UnaryMinus: '/Unary Minus' */ index_start = -(double)g_aucAMBRATE_FALLING[rtb_Gain2 - 1]; } index_start = (double)rtb_Subtract / 60000.0 * index_start + rtDW.AMB_store; } /* End of Switch: '/Switch1' */ /* End of Outputs for SubSystem: '/Медленно' */ } /* End of If: '/If' */ /* Switch: '/Switch' incorporates: * DataStoreRead: '/Data Store Read11' * DataStoreRead: '/Data Store Read12' * MATLAB Function: '/Coolant temp threshold' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator' * Switch: '/Switch' */ if (rtDW.ECT <= g_ssAMBFILT_WATER) { /* Switch: '/Switch1' incorporates: * Abs: '/Abs' * Constant: '/epsilon' * DataStoreRead: '/Read Amb' * DataStoreWrite: '/Data Store Write' * RelationalOperator: '/Relational Operator' * Sum: '/Add' */ if (fabs((double)rtb_Switch6_c - rtDW.AMB_store) > 0.01) { /* Switch: '/Switch' incorporates: * DataTypeConversion: '/Data Type Conversion' * DataTypeConversion: '/Data Type Conversion' * RelationalOperator: '/AMBraw > AMB' * UnaryMinus: '/Unary Minus' */ if (rtb_Switch6_c > rtDW.AMB_store) { rtb_Switch2_nb = rtb_DataTypeConversion2_au; } else { rtb_Switch2_nb = (int16_t)-rtb_DataTypeConversion3_it; } /* Switch: '/Switch1' incorporates: * Constant: '/Constant' * Product: '/Divide' * Product: '/Product' * Sum: '/Add' * Switch: '/Switch' */ rtDW.AMB_store += (double)rtb_Subtract / 60000.0 * (double) rtb_Switch2_nb; } /* End of Switch: '/Switch1' */ } else if (rtDW.VehicleSpeed != 0) { /* Switch: '/Switch1' incorporates: * DataStoreWrite: '/Write new AMB' * Switch: '/Switch' */ rtDW.AMB_store = index_start; } /* End of Switch: '/Switch' */ /* SignalConversion generated from: '/AMB_out' incorporates: * DataStoreWrite: '/Write new AMB' */ rtb_I_od = rtDW.AMB_store; /* Update for UnitDelay: '/Unit Delay' incorporates: * DataStoreRead: '/Data Store Read15' */ rtDW.UnitDelay_DSTATE_c = rtDW.t_now; /* End of Outputs for SubSystem: '/Фильтрация температуры' */ } else { /* Outputs for IfAction SubSystem: '/Инициализация температуры' incorporates: * ActionPort: '/Action Port' */ /* Switch: '/Switch1' incorporates: * DataStoreWrite: '/Data Store Write' * DataTypeConversion: '/Data Type Conversion' */ rtDW.AMB_store = rtb_Switch6_c; /* SignalConversion generated from: '/AMB_out' incorporates: * DataStoreWrite: '/Data Store Write' */ rtb_I_od = rtDW.AMB_store; /* End of Outputs for SubSystem: '/Инициализация температуры' */ } /* End of If: '/If' */ /* DataTypeConversion: '/Data Type Conversion' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.AMB = (int16_t)floor(rtb_I_od); /* Gain: '/Gain1' incorporates: * Bias: '/Bias' * DataStoreRead: '/Data Store Read4' * DataStoreWrite: '/Data Store Write' * DataTypeConversion: '/Data Type Conversion' * Gain: '/Gain' */ index_start = (0.5 * (double)rtDW.CCUCAN_BCM_Climatic_model.WindshieldTemp_ro - 40.0) * 10.0; /* Gain: '/Gain' incorporates: * DataStoreRead: '/Data Store Read4' * DataStoreWrite: '/Data Store Write' * DataTypeConversion: '/Data Type Conversion' */ rtb_Divide5 = 0.5 * (double) rtDW.CCUCAN_BCM_Climatic_model.WindshieldHumidity_ro; /* Gain: '/Gain' incorporates: * DataStoreRead: '/Data Store Read4' * DataStoreWrite: '/Data Store Write' * DataTypeConversion: '/Data Type Conversion' */ rtDW.Sun_R = 4.01575 * (double) rtDW.CCUCAN_BCM_Climatic_model.SolarSensRightVal_ro; /* Gain: '/Gain' incorporates: * DataStoreRead: '/Data Store Read4' * DataStoreWrite: '/Data Store Write' * DataTypeConversion: '/Data Type Conversion' */ rtDW.Sun_L = 4.01575 * (double) rtDW.CCUCAN_BCM_Climatic_model.SolarSensLeftVal_ro; /* Bias: '/Bias' incorporates: * DataStoreRead: '/Data Store Read5' * DataStoreWrite: '/Data Store Write1' * DataTypeConversion: '/Data Type Conversion1' */ rtDW.ECT = (int16_t)(rtDW.CCUCAN_EMS_Veh_model.EMS_EngCoolTemp_Val_ro - 40); /* Gain: '/Gain' incorporates: * DataStoreRead: '/Data Store Read5' * DataStoreWrite: '/Data Store Write1' * DataTypeConversion: '/Data Type Conversion1' */ rtDW.Engine_speed = 0.25 * (double) rtDW.CCUCAN_EMS_Veh_model.EMS_nICEngineSpeed3_Val_ro; /* DataTypeConversion: '/Data Type Conversion1' incorporates: * DataStoreRead: '/Data Store Read6' * DataStoreWrite: '/Data Store Write2' * DataTypeConversion: '/Data Type Conversion' * Gain: '/Gain' */ rtDW.VehicleSpeed = (uint16_t)(0.01 * (double) rtDW.CCUCAN_ESC_04_model.ESC_VehicleSpeed_ro); /* DataStoreWrite: '/Data Store Write' incorporates: * DataStoreRead: '/Data Store Read7' */ rtDW.BCM_T15_Stat = rtDW.CCUCAN_BCM_VEH_STATE_model.BCM_T15_Stat; /* DataStoreWrite: '/Data Store Write7' incorporates: * DataStoreRead: '/Data Store Read8' */ rtDW.eCompChiller_Req = rtDW.CCUCAN_EMS_HVC_REQ_MSG_MODEL.EMS_eCompChiller_Req; /* DataStoreWrite: '/Data Store Write8' incorporates: * DataStoreRead: '/Data Store Read9' */ rtDW.SeatOccupiedRL = rtDW.CCUCAN_OCURL_MSG_model.OCURL_SeatOccupied_Stat; /* Outputs for Enabled SubSystem: '/TM_CP and FIU - только при зажигании' incorporates: * EnablePort: '/Enable' */ /* DataStoreRead: '/Data Store Read1' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read3' */ if (rtDW.BCM_T15_Stat > 0) { /* Outputs for Enabled SubSystem: '/Subsystem' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU1_MODEL.FIU_FootTempCorFL_Req > 0) { /* Sum: '/Plus' incorporates: * Constant: '/Constant' * DataStoreWrite: '/Data Store Write4' */ rtDW.CCU_SET_FOOT_FL = (uint8_t)(rtDW.FIU_CCU1_MODEL.FIU_FootTempCorFL_Req - 1); /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant1' */ rtDW.CCU_AC_MAX = 0U; } /* End of Outputs for SubSystem: '/Subsystem' */ /* Outputs for Enabled SubSystem: '/Subsystem1' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU1_MODEL.FIU_CCmodeFL_Req > 0) { /* Switch: '/Switch' incorporates: * DataStoreWrite: '/Data Store Write6' */ rtDW.CCU_MODE_FL = (uint8_t)(rtDW.FIU_CCU1_MODEL.FIU_CCmodeFL_Req > 1); /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.CCU_AC_MAX = 0U; /* If: '/If' incorporates: * Constant: '/Constant2' * DataStoreWrite: '/Data Store Write6' * RelationalOperator: '/Relational Operator1' */ if (rtDW.CCU_MODE_FL == 1) { /* Outputs for IfAction SubSystem: '/If Action Subsystem' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.CCU_RECIRC = 2U; /* End of Outputs for SubSystem: '/If Action Subsystem' */ } /* End of If: '/If' */ } /* End of Outputs for SubSystem: '/Subsystem1' */ /* Outputs for Enabled SubSystem: '/Subsystem10' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU1_MODEL.FIU_CCmodeFR_Req > 0) { /* Switch: '/Switch' incorporates: * DataStoreWrite: '/Data Store Write10' */ rtDW.CCU_MODE_FR = (uint8_t)(rtDW.FIU_CCU1_MODEL.FIU_CCmodeFR_Req > 1); /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.CCU_AC_MAX = 0U; /* DataStoreWrite: '/Data Store Write1' incorporates: * Constant: '/true' */ rtDW.changed_FR_params = 1U; } /* End of Outputs for SubSystem: '/Subsystem10' */ /* Outputs for Enabled SubSystem: '/Subsystem11' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU1_MODEL.FIU_AirDirectionFR_Def_Req > 0) { /* Switch: '/Switch' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.CCU_DEF_FL = (uint8_t)(rtDW.FIU_CCU1_MODEL.FIU_AirDirectionFR_Def_Req <= 1); /* DataStoreWrite: '/Data Store Write11' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.CCU_DEF_FR = rtDW.CCU_DEF_FL; /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.CCU_AC_MAX = 0U; /* DataStoreWrite: '/Data Store Write2' incorporates: * Constant: '/true' */ rtDW.changed_FR_params = 1U; } /* End of Outputs for SubSystem: '/Subsystem11' */ /* Outputs for Enabled SubSystem: '/Subsystem12' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU1_MODEL.FIU_AirDirectionFR_Face_Req > 0) { /* Switch: '/Switch' incorporates: * DataStoreWrite: '/Data Store Write12' */ rtDW.CCU_FACE_FR = (uint8_t) (rtDW.FIU_CCU1_MODEL.FIU_AirDirectionFR_Face_Req <= 1); /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.CCU_AC_MAX = 0U; /* DataStoreWrite: '/Data Store Write1' incorporates: * Constant: '/true' */ rtDW.changed_FR_params = 1U; } /* End of Outputs for SubSystem: '/Subsystem12' */ /* Outputs for Enabled SubSystem: '/Subsystem13' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU1_MODEL.FIU_AirDirectionFR_Foot_Req > 0) { /* Switch: '/Switch' incorporates: * DataStoreWrite: '/Data Store Write13' */ rtDW.CCU_FOOT_FR = (uint8_t) (rtDW.FIU_CCU1_MODEL.FIU_AirDirectionFR_Foot_Req <= 1); /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.CCU_AC_MAX = 0U; /* DataStoreWrite: '/Data Store Write1' incorporates: * Constant: '/true' */ rtDW.changed_FR_params = 1U; } /* End of Outputs for SubSystem: '/Subsystem13' */ /* Outputs for Enabled SubSystem: '/Subsystem14' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU1_MODEL.FIU_BlowerSpeedFL_Req > 0) { /* Switch: '/Switch5' incorporates: * Constant: '/blower off' * DataStoreWrite: '/Data Store Write14' */ if (rtDW.FIU_CCU1_MODEL.FIU_BlowerSpeedFL_Req > 7) { rtDW.CCU_BLOWERS_FL = 0U; } else { rtDW.CCU_BLOWERS_FL = rtDW.FIU_CCU1_MODEL.FIU_BlowerSpeedFL_Req; } /* End of Switch: '/Switch5' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.CCU_AC_MAX = 0U; } /* End of Outputs for SubSystem: '/Subsystem14' */ /* Outputs for Enabled SubSystem: '/Subsystem15' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU1_MODEL.FIU_BlowerSpeedFR_Req > 0) { /* Switch: '/Switch5' incorporates: * Constant: '/blower off' * DataStoreWrite: '/Data Store Write15' */ if (rtDW.FIU_CCU1_MODEL.FIU_BlowerSpeedFR_Req > 7) { rtDW.CCU_BLOWERS_FR = 0U; } else { rtDW.CCU_BLOWERS_FR = rtDW.FIU_CCU1_MODEL.FIU_BlowerSpeedFR_Req; } /* End of Switch: '/Switch5' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.CCU_AC_MAX = 0U; /* DataStoreWrite: '/Data Store Write1' incorporates: * Constant: '/true' */ rtDW.changed_FR_params = 1U; } /* End of Outputs for SubSystem: '/Subsystem15' */ /* Outputs for Enabled SubSystem: '/Subsystem16' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU1_MODEL.FIU_CCautoModeFL_Req > 0) { /* DataStoreWrite: '/Data Store Write16' */ rtDW.CCU_AUTOMODE_FL = rtDW.FIU_CCU1_MODEL.FIU_CCautoModeFL_Req; /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.CCU_AC_MAX = 0U; } /* End of Outputs for SubSystem: '/Subsystem16' */ /* Outputs for Enabled SubSystem: '/Subsystem17' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU1_MODEL.FIU_CCautoModeFR_Req > 0) { /* DataStoreWrite: '/Data Store Write17' */ rtDW.CCU_AUTOMODE_FR = rtDW.FIU_CCU1_MODEL.FIU_CCautoModeFR_Req; /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.CCU_AC_MAX = 0U; /* DataStoreWrite: '/Data Store Write1' incorporates: * Constant: '/true' */ rtDW.changed_FR_params = 1U; } /* End of Outputs for SubSystem: '/Subsystem17' */ /* Outputs for Enabled SubSystem: '/Subsystem18' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU1_MODEL.FIU_Recirculation_Req > 0) { /* MultiPortSwitch: '/Multiport Switch' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * Constant: '/Constant2' * DataStoreWrite: '/Data Store Write19' */ switch (rtDW.FIU_CCU1_MODEL.FIU_Recirculation_Req) { case 1: rtDW.CCU_RECIRC = 1U; break; case 2: rtDW.CCU_RECIRC = 0U; break; default: rtDW.CCU_RECIRC = 2U; break; } /* End of MultiPortSwitch: '/Multiport Switch' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant3' */ rtDW.CCU_AC_MAX = 0U; } /* End of Outputs for SubSystem: '/Subsystem18' */ /* Outputs for Enabled SubSystem: '/Subsystem19' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU1_MODEL.FIU_DeflectorSwDL_Req > 0) { /* Switch: '/Switch' incorporates: * Constant: '/no LED' * DataStoreWrite: '/Data Store Write1' */ if (rtDW.FIU_CCU1_MODEL.FIU_DeflectorSwDL_Req > 3) { rtDW.DRS_SFL = 0U; } else { rtDW.DRS_SFL = rtDW.FIU_CCU1_MODEL.FIU_DeflectorSwDL_Req; } /* End of Switch: '/Switch' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.CCU_AC_MAX = 0U; } /* End of Outputs for SubSystem: '/Subsystem19' */ /* Outputs for Enabled SubSystem: '/Subsystem20' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU1_MODEL.FIU_DeflectorSwDR_Req > 0) { /* Switch: '/Switch' incorporates: * Constant: '/no LED' * DataStoreWrite: '/Data Store Write1' */ if (rtDW.FIU_CCU1_MODEL.FIU_DeflectorSwDR_Req > 3) { rtDW.DRS_SFR = 0U; } else { rtDW.DRS_SFR = rtDW.FIU_CCU1_MODEL.FIU_DeflectorSwDR_Req; } /* End of Switch: '/Switch' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.CCU_AC_MAX = 0U; } /* End of Outputs for SubSystem: '/Subsystem20' */ /* Outputs for Enabled SubSystem: '/Subsystem21' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU1_MODEL.FIU_ACfrontOFF_Req > 0) { /* Switch: '/Switch' incorporates: * DataStoreWrite: '/Data Store Write22' */ rtDW.CCU_AC_FRONT = (uint8_t)(rtDW.FIU_CCU1_MODEL.FIU_ACfrontOFF_Req <= 1); /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.CCU_AC_MAX = 0U; } /* End of Outputs for SubSystem: '/Subsystem21' */ /* Outputs for Enabled SubSystem: '/Subsystem22' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU1_MODEL.FIU_DeflectorSwFPL_Req > 0) { /* Switch: '/Switch' incorporates: * Constant: '/no LED' * DataStoreWrite: '/Data Store Write23' */ if (rtDW.FIU_CCU1_MODEL.FIU_DeflectorSwFPL_Req > 3) { rtDW.DRS_CFL = 0U; } else { rtDW.DRS_CFL = rtDW.FIU_CCU1_MODEL.FIU_DeflectorSwFPL_Req; } /* End of Switch: '/Switch' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.CCU_AC_MAX = 0U; } /* End of Outputs for SubSystem: '/Subsystem22' */ /* Outputs for Enabled SubSystem: '/Subsystem23' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU1_MODEL.FIU_DeflectorSwFPR_Req > 0) { /* Switch: '/Switch' incorporates: * Constant: '/no LED' * DataStoreWrite: '/Data Store Write24' */ if (rtDW.FIU_CCU1_MODEL.FIU_DeflectorSwFPR_Req > 3) { rtDW.DRS_CFR = 0U; } else { rtDW.DRS_CFR = rtDW.FIU_CCU1_MODEL.FIU_DeflectorSwFPR_Req; } /* End of Switch: '/Switch' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.CCU_AC_MAX = 0U; } /* End of Outputs for SubSystem: '/Subsystem23' */ /* Outputs for Enabled SubSystem: '/Subsystem24' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU1_MODEL.FIU_FrontZoneSync_Req > 0) { /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.CCU_AC_MAX = 0U; /* If: '/If' */ if (rtDW.FIU_CCU1_MODEL.FIU_FrontZoneSync_Req == 1) { /* Outputs for IfAction SubSystem: '/sync front action' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write18' incorporates: * Constant: '/on' */ rtDW.enable_front_sync = 1U; /* End of Outputs for SubSystem: '/sync front action' */ } else if (rtDW.FIU_CCU1_MODEL.FIU_FrontZoneSync_Req == 2) { /* Outputs for IfAction SubSystem: '/full sync action' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.enable_full_sync = 1U; /* End of Outputs for SubSystem: '/full sync action' */ } else if (rtDW.FIU_CCU1_MODEL.FIU_FrontZoneSync_Req == 3) { /* Outputs for IfAction SubSystem: '/sync off action' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write18' incorporates: * Constant: '/on' */ rtDW.disable_front_sync = 1U; /* End of Outputs for SubSystem: '/sync off action' */ } /* End of If: '/If' */ } /* End of Outputs for SubSystem: '/Subsystem24' */ /* Outputs for Enabled SubSystem: '/Subsystem4' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU1_MODEL.FIU_FootTempCorFR_Req > 0) { /* Sum: '/Plus' incorporates: * Constant: '/Constant' * DataStoreWrite: '/Data Store Write5' */ rtDW.CCU_SET_FOOT_FR = (uint8_t)(rtDW.FIU_CCU1_MODEL.FIU_FootTempCorFR_Req - 1); /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant1' */ rtDW.CCU_AC_MAX = 0U; } /* End of Outputs for SubSystem: '/Subsystem4' */ /* Outputs for Enabled SubSystem: '/Subsystem5' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU1_MODEL.FIU_TargetTempFL_Val_ro > 0) { /* Gain: '/Gain1' incorporates: * Bias: '/Bias' * DataTypeConversion: '/Data Type Conversion' * Gain: '/Gain' */ rtb_D_la = (0.5 * (double)rtDW.FIU_CCU1_MODEL.FIU_TargetTempFL_Val_ro + 15.5) * 10.0; /* Saturate: '/Saturation' incorporates: * DataTypeConversion: '/Data Type Conversion1' */ if ((uint16_t)rtb_D_la > 305) { /* DataTypeConversion: '/Data Type Conversion1' */ rtDW.CCU_SET_FL = 305U; } else { /* DataTypeConversion: '/Data Type Conversion1' */ rtDW.CCU_SET_FL = (uint16_t)rtb_D_la; } /* End of Saturate: '/Saturation' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.CCU_AC_MAX = 0U; /* If: '/If' incorporates: * DataStoreWrite: '/Data Store Write1' */ if (rtDW.CCU_SET_FL < 165) { /* Outputs for IfAction SubSystem: '/LO mode' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/LOW' */ rtDW.LO_HI_MODE_FL = 1U; /* End of Outputs for SubSystem: '/LO mode' */ } else if (rtDW.CCU_SET_FL > 295) { /* Outputs for IfAction SubSystem: '/HI mode' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/HI' */ rtDW.LO_HI_MODE_FL = 2U; /* End of Outputs for SubSystem: '/HI mode' */ } else { /* Outputs for IfAction SubSystem: '/not LO or HI' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/not LO or HI' */ rtDW.LO_HI_MODE_FL = 0U; /* End of Outputs for SubSystem: '/not LO or HI' */ } /* End of If: '/If' */ } /* End of Outputs for SubSystem: '/Subsystem5' */ /* Outputs for Enabled SubSystem: '/Subsystem6' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU1_MODEL.FIU_TargetTempFR_Val_ro > 0) { /* Gain: '/Gain1' incorporates: * Bias: '/Bias' * DataTypeConversion: '/Data Type Conversion' * Gain: '/Gain' */ rtb_D_la = (0.5 * (double)rtDW.FIU_CCU1_MODEL.FIU_TargetTempFR_Val_ro + 15.5) * 10.0; /* Saturate: '/Saturation' incorporates: * DataTypeConversion: '/Data Type Conversion1' */ if ((uint16_t)rtb_D_la > 305) { rtDW.CCU_SET_FR = 305U; } else { rtDW.CCU_SET_FR = (uint16_t)rtb_D_la; } /* End of Saturate: '/Saturation' */ /* DataStoreWrite: '/Data Store Write2' incorporates: * Constant: '/Constant' */ rtDW.CCU_AC_MAX = 0U; /* DataStoreWrite: '/Data Store Write1' incorporates: * Constant: '/true' */ rtDW.changed_FR_params = 1U; /* If: '/If' incorporates: * DataStoreWrite: '/Data Store Write' */ if (rtDW.CCU_SET_FR < 165) { /* Outputs for IfAction SubSystem: '/LO mode' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/LOW' */ rtDW.LO_HI_MODE_FR = 1U; /* End of Outputs for SubSystem: '/LO mode' */ } else if (rtDW.CCU_SET_FR > 295) { /* Outputs for IfAction SubSystem: '/HI mode' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/HI' */ rtDW.LO_HI_MODE_FR = 2U; /* End of Outputs for SubSystem: '/HI mode' */ } else { /* Outputs for IfAction SubSystem: '/not LO or HI' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/not LO or HI' */ rtDW.LO_HI_MODE_FR = 0U; /* End of Outputs for SubSystem: '/not LO or HI' */ } /* End of If: '/If' */ } /* End of Outputs for SubSystem: '/Subsystem6' */ /* Outputs for Enabled SubSystem: '/Subsystem7' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU1_MODEL.FIU_AirDirectionFL_Def_Req > 0) { /* Switch: '/Switch' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.CCU_DEF_FR = (uint8_t)(rtDW.FIU_CCU1_MODEL.FIU_AirDirectionFL_Def_Req <= 1); /* DataStoreWrite: '/Data Store Write7' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.CCU_DEF_FL = rtDW.CCU_DEF_FR; /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.CCU_AC_MAX = 0U; } /* End of Outputs for SubSystem: '/Subsystem7' */ /* Outputs for Enabled SubSystem: '/Subsystem8' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU1_MODEL.FIU_AirDirectionFL_Face_Req > 0) { /* Switch: '/Switch' incorporates: * DataStoreWrite: '/Data Store Write8' */ rtDW.CCU_FACE_FL = (uint8_t) (rtDW.FIU_CCU1_MODEL.FIU_AirDirectionFL_Face_Req <= 1); /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.CCU_AC_MAX = 0U; } /* End of Outputs for SubSystem: '/Subsystem8' */ /* Outputs for Enabled SubSystem: '/Subsystem9' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU1_MODEL.FIU_AirDirectionFL_Foot_Req > 0) { /* Switch: '/Switch' incorporates: * DataStoreWrite: '/Data Store Write9' */ rtDW.CCU_FOOT_FL = (uint8_t) (rtDW.FIU_CCU1_MODEL.FIU_AirDirectionFL_Foot_Req <= 1); /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.CCU_AC_MAX = 0U; } /* End of Outputs for SubSystem: '/Subsystem9' */ /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read11' */ rtb_Compare_ht = (rtDW.TM_CP_model.CCPF_DefButton_Stat > 0); /* RelationalOperator: '/FixPt Relational Operator' incorporates: * UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM */ rtb_Compare_lq = ((int32_t)rtb_Compare_ht > (int32_t) rtDW.DelayInput1_DSTATE_m); /* Chart: '/Defrost_Active' */ if (rtDW.is_active_c837_HVAC_model == 0U) { rtDW.is_active_c837_HVAC_model = 1U; rtDW.is_c837_HVAC_model = IN_REC_OFF; /* DataStoreWrite: '/(MAX DEFrost mode request)' */ /* : Defrost_Active = 0; */ rtDW.CCU_Defrost = 0U; } else if (rtDW.is_c837_HVAC_model == IN_REC_OFF) { /* DataStoreWrite: '/(MAX DEFrost mode request)' */ rtDW.CCU_Defrost = 0U; /* : sf_internal_predicateOutput = Btn_Pulse==1; */ if (rtb_Compare_lq) { rtDW.is_c837_HVAC_model = IN_REC_ON; /* DataStoreWrite: '/(MAX DEFrost mode request)' */ /* : Defrost_Active = 1; */ rtDW.CCU_Defrost = 1U; } } else { /* DataStoreWrite: '/(MAX DEFrost mode request)' */ /* case IN_REC_ON: */ rtDW.CCU_Defrost = 1U; /* : sf_internal_predicateOutput = Btn_Pulse==1; */ if (rtb_Compare_lq) { rtDW.is_c837_HVAC_model = IN_REC_OFF; /* DataStoreWrite: '/(MAX DEFrost mode request)' */ /* : Defrost_Active = 0; */ rtDW.CCU_Defrost = 0U; } } /* End of Chart: '/Defrost_Active' */ /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read11' */ rtb_Compare_lq = (rtDW.TM_CP_model.CCPF_FWindowHeatSw_Stat > 0); /* RelationalOperator: '/FixPt Relational Operator' incorporates: * UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM */ rtb_Compare_jv1 = ((int32_t)rtb_Compare_lq > (int32_t) rtDW.DelayInput1_DSTATE_g); /* Chart: '/Front Window Heating' incorporates: * DataStoreWrite: '/Data Store Write2' */ if (rtDW.is_active_c262_HVAC_model == 0U) { rtDW.is_active_c262_HVAC_model = 1U; rtDW.is_c262_HVAC_model = IN_REC_OFF; /* : Front_w_heating_out = 0; */ rtDW.FrontWindowHeating_manual_on = 0U; } else if (rtDW.is_c262_HVAC_model == IN_REC_OFF) { rtDW.FrontWindowHeating_manual_on = 0U; /* : sf_internal_predicateOutput = Btn_Pulse==1; */ if (rtb_Compare_jv1) { rtDW.is_c262_HVAC_model = IN_REC_ON; /* : Front_w_heating_out = 1; */ rtDW.FrontWindowHeating_manual_on = 1U; } } else { /* case IN_REC_ON: */ rtDW.FrontWindowHeating_manual_on = 1U; /* : sf_internal_predicateOutput = Btn_Pulse==1; */ if (rtb_Compare_jv1) { rtDW.is_c262_HVAC_model = IN_REC_OFF; /* : Front_w_heating_out = 0; */ rtDW.FrontWindowHeating_manual_on = 0U; } } /* End of Chart: '/Front Window Heating' */ /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read11' */ rtb_Compare_jv1 = (rtDW.TM_CP_model.CCPF_AcMaxButton_Stat > 0); /* RelationalOperator: '/FixPt Relational Operator' incorporates: * UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM */ rtb_Compare_jve = ((int32_t)rtb_Compare_jv1 > (int32_t) rtDW.DelayInput1_DSTATE_c); /* Chart: '/AC_Max_Active' incorporates: * DataStoreRead: '/Data Store Read' */ if (rtDW.is_active_c782_HVAC_model == 0U) { rtDW.is_active_c782_HVAC_model = 1U; /* : sf_internal_predicateOutput = AC_MAX==1; */ if (rtDW.CCU_AC_MAX == 1) { rtDW.is_c782_HVAC_model = IN_AC_MAX_ON; /* : AC_Max_Active = 1; */ rtDW.CCU_AC_MAX = 1U; } else { rtDW.is_c782_HVAC_model = IN_AC_MAX_OFF; /* : AC_Max_Active = 0; */ rtDW.CCU_AC_MAX = 0U; } } else if (rtDW.is_c782_HVAC_model == IN_AC_MAX_OFF) { rtDW.CCU_AC_MAX = 0U; /* : sf_internal_predicateOutput = Btn_Pulse==1; */ if (rtb_Compare_jve) { rtDW.is_c782_HVAC_model = IN_AC_MAX_ON; /* : AC_Max_Active = 1; */ rtDW.CCU_AC_MAX = 1U; } } else { /* case IN_AC_MAX_ON: */ rtDW.CCU_AC_MAX = 1U; /* : sf_internal_predicateOutput = Btn_Pulse==1; */ if (rtb_Compare_jve) { rtDW.is_c782_HVAC_model = IN_AC_MAX_OFF; /* : AC_Max_Active = 0; */ rtDW.CCU_AC_MAX = 0U; } } /* End of Chart: '/AC_Max_Active' */ /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read11' */ rtb_Compare_jve = (rtDW.TM_CP_model.CCPF_RecButton_Stat > 0); /* RelationalOperator: '/FixPt Relational Operator' incorporates: * UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM */ rtb_Compare_bef = ((int32_t)rtb_Compare_jve > (int32_t) rtDW.DelayInput1_DSTATE_ic); /* Chart: '/Full_Rec_Active' */ if (rtDW.is_active_c836_HVAC_model == 0U) { rtDW.is_active_c836_HVAC_model = 1U; rtDW.is_c836_HVAC_model = IN_REC_OFF; /* DataStoreWrite: '/Data Store Write9' */ /* : Full_Rec_Active = 0; */ rtDW.Full_Rec = 0U; } else if (rtDW.is_c836_HVAC_model == IN_REC_OFF) { /* DataStoreWrite: '/Data Store Write9' */ rtDW.Full_Rec = 0U; /* : sf_internal_predicateOutput = Btn_Pulse==1; */ if (rtb_Compare_bef) { rtDW.is_c836_HVAC_model = IN_REC_ON; /* DataStoreWrite: '/Data Store Write9' */ /* : Full_Rec_Active = 1; */ rtDW.Full_Rec = 1U; } } else { /* DataStoreWrite: '/Data Store Write9' */ /* case IN_REC_ON: */ rtDW.Full_Rec = 1U; /* : sf_internal_predicateOutput = Btn_Pulse==1; */ if (rtb_Compare_bef) { rtDW.is_c836_HVAC_model = IN_REC_OFF; /* DataStoreWrite: '/Data Store Write9' */ /* : Full_Rec_Active = 0; */ rtDW.Full_Rec = 0U; } } /* End of Chart: '/Full_Rec_Active' */ /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read11' */ rtb_Compare_bef = (rtDW.TM_CP_model.CCPF_AutoButtonL_Stat > 0); /* If: '/If' incorporates: * RelationalOperator: '/FixPt Relational Operator' * UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM */ if ((int32_t)rtb_Compare_bef > (int32_t)rtDW.DelayInput1_DSTATE_n) { /* Outputs for IfAction SubSystem: '/if action' incorporates: * ActionPort: '/Action Port' */ /* Outputs for IfAction SubSystem: '/sync front action1' incorporates: * ActionPort: '/Action Port' */ /* Outputs for IfAction SubSystem: '/sync front action3' incorporates: * ActionPort: '/Action Port' */ /* If: '/If2' incorporates: * DataStoreRead: '/Data Store Read12' * DataStoreWrite: '/Data Store Write13' * DataStoreWrite: '/Data Store Write13' */ rtDW.CCU_MODE_FL = (uint8_t)(rtDW.CCU_MODE_FL == 0); /* End of Outputs for SubSystem: '/sync front action3' */ /* End of Outputs for SubSystem: '/sync front action1' */ /* End of Outputs for SubSystem: '/if action' */ } /* End of If: '/If' */ /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read11' */ rtb_Compare_pt = (rtDW.TM_CP_model.CCPF_AutoButtonR_Stat > 0); /* If: '/If1' incorporates: * RelationalOperator: '/FixPt Relational Operator' * UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM */ if ((int32_t)rtb_Compare_pt > (int32_t)rtDW.DelayInput1_DSTATE_my) { /* Outputs for IfAction SubSystem: '/if action1' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write1' incorporates: * Constant: '/true' */ rtDW.changed_FR_params = 1U; /* Outputs for IfAction SubSystem: '/sync front action1' incorporates: * ActionPort: '/Action Port' */ /* Outputs for IfAction SubSystem: '/sync front action3' incorporates: * ActionPort: '/Action Port' */ /* If: '/If2' incorporates: * DataStoreRead: '/Data Store Read12' * DataStoreWrite: '/Data Store Write13' * DataStoreWrite: '/Data Store Write13' */ rtDW.CCU_MODE_FR = (uint8_t)(rtDW.CCU_MODE_FR == 0); /* End of Outputs for SubSystem: '/sync front action3' */ /* End of Outputs for SubSystem: '/sync front action1' */ /* End of Outputs for SubSystem: '/if action1' */ } /* End of If: '/If1' */ /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read11' */ rtb_LogicalOperator_fc = (rtDW.TM_CP_model.CCPR_AutoButtonL_Stat > 0); /* If: '/If2' incorporates: * RelationalOperator: '/FixPt Relational Operator' * UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM */ if ((int32_t)rtb_LogicalOperator_fc > (int32_t)rtDW.DelayInput1_DSTATE_a) { /* Outputs for IfAction SubSystem: '/if action2' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write2' incorporates: * Constant: '/true' */ rtDW.changed_RL_params = 1U; /* Outputs for IfAction SubSystem: '/sync front action1' incorporates: * ActionPort: '/Action Port' */ /* Outputs for IfAction SubSystem: '/sync front action3' incorporates: * ActionPort: '/Action Port' */ /* If: '/If2' incorporates: * DataStoreRead: '/Data Store Read12' * DataStoreWrite: '/Data Store Write13' * DataStoreWrite: '/Data Store Write13' */ rtDW.CCU_MODE_RL = (uint8_t)(rtDW.CCU_MODE_RL == 0); /* End of Outputs for SubSystem: '/sync front action3' */ /* End of Outputs for SubSystem: '/sync front action1' */ /* End of Outputs for SubSystem: '/if action2' */ } /* End of If: '/If2' */ /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read11' */ rtb_Compare_jv = (rtDW.TM_CP_model.CCPR_AutoButtonR_Stat > 0); /* If: '/If4' incorporates: * RelationalOperator: '/FixPt Relational Operator' * UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM */ if ((int32_t)rtb_Compare_jv > (int32_t)rtDW.DelayInput1_DSTATE_o) { /* Outputs for IfAction SubSystem: '/if action4' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write2' incorporates: * Constant: '/true' */ rtDW.changed_RR_params = 1U; /* Outputs for IfAction SubSystem: '/sync front action1' incorporates: * ActionPort: '/Action Port' */ /* Outputs for IfAction SubSystem: '/sync front action3' incorporates: * ActionPort: '/Action Port' */ /* If: '/If2' incorporates: * DataStoreRead: '/Data Store Read12' * DataStoreWrite: '/Data Store Write13' * DataStoreWrite: '/Data Store Write13' */ rtDW.CCU_MODE_RR = (uint8_t)(rtDW.CCU_MODE_RR == 0); /* End of Outputs for SubSystem: '/sync front action3' */ /* End of Outputs for SubSystem: '/sync front action1' */ /* End of Outputs for SubSystem: '/if action4' */ } /* End of If: '/If4' */ /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read11' */ rtb_Compare_o5 = (rtDW.TM_CP_model.CCPF_TempToggleL_Stat > 0); /* If: '/If1' incorporates: * RelationalOperator: '/FixPt Relational Operator' * UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM */ if ((int32_t)rtb_Compare_o5 > (int32_t)rtDW.DelayInput1_DSTATE_od) { /* Outputs for IfAction SubSystem: '/If Action Subsystem' incorporates: * ActionPort: '/Action Port' */ /* If: '/If5' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read11' * DataStoreRead: '/Data Store Read12' * Saturate: '/Saturation1' * Sum: '/Sum' */ if ((rtDW.TM_CP_model.CCPF_TempToggleL_Stat == 1) || (rtDW.TM_CP_model.CCPF_TempToggleL_Stat == 3)) { /* Outputs for IfAction SubSystem: '/temp up' incorporates: * ActionPort: '/Action Port' */ /* Saturate: '/Saturation1' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read12' * Sum: '/Add' */ if ((uint16_t)(rtDW.CCU_SET_FL + 5U) > 305) { /* DataTypeConversion: '/Data Type Conversion1' */ rtDW.CCU_SET_FL = 305U; } else if ((uint16_t)(rtDW.CCU_SET_FL + 5U) < 155) { /* DataTypeConversion: '/Data Type Conversion1' */ rtDW.CCU_SET_FL = 155U; } else { /* DataTypeConversion: '/Data Type Conversion1' */ rtDW.CCU_SET_FL = (uint16_t)(rtDW.CCU_SET_FL + 5U); } /* End of Saturate: '/Saturation1' */ /* If: '/If' incorporates: * DataStoreWrite: '/Data Store Write13' */ if (rtDW.CCU_SET_FL < 160) { /* Outputs for IfAction SubSystem: '/LO mode' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/LOW' */ rtDW.LO_HI_MODE_FL = 1U; /* End of Outputs for SubSystem: '/LO mode' */ } else if (rtDW.CCU_SET_FL > 290) { /* Outputs for IfAction SubSystem: '/HI mode' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/HI' */ rtDW.LO_HI_MODE_FL = 2U; /* End of Outputs for SubSystem: '/HI mode' */ } else { /* Outputs for IfAction SubSystem: '/not LO or HI' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/not LO or HI' */ rtDW.LO_HI_MODE_FL = 0U; /* End of Outputs for SubSystem: '/not LO or HI' */ } /* End of If: '/If' */ /* End of Outputs for SubSystem: '/temp up' */ } else { /* Outputs for IfAction SubSystem: '/temp down' incorporates: * ActionPort: '/Action Port' */ if ((uint16_t)(rtDW.CCU_SET_FL - 5) > 305) { /* DataTypeConversion: '/Data Type Conversion1' incorporates: * Saturate: '/Saturation1' */ rtDW.CCU_SET_FL = 305U; } else if ((uint16_t)(rtDW.CCU_SET_FL - 5) < 155) { /* DataTypeConversion: '/Data Type Conversion1' incorporates: * Saturate: '/Saturation1' */ rtDW.CCU_SET_FL = 155U; } else { /* DataTypeConversion: '/Data Type Conversion1' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read12' * Saturate: '/Saturation1' * Sum: '/Sum' */ rtDW.CCU_SET_FL = (uint16_t)(rtDW.CCU_SET_FL - 5); } /* If: '/If' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read12' * DataStoreWrite: '/Data Store Write13' * Saturate: '/Saturation1' * Sum: '/Sum' */ if (rtDW.CCU_SET_FL < 160) { /* Outputs for IfAction SubSystem: '/LO mode' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/LOW' */ rtDW.LO_HI_MODE_FL = 1U; /* End of Outputs for SubSystem: '/LO mode' */ } else if (rtDW.CCU_SET_FL > 290) { /* Outputs for IfAction SubSystem: '/HI mode' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/HI' */ rtDW.LO_HI_MODE_FL = 2U; /* End of Outputs for SubSystem: '/HI mode' */ } else { /* Outputs for IfAction SubSystem: '/not LO or HI' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/not LO or HI' */ rtDW.LO_HI_MODE_FL = 0U; /* End of Outputs for SubSystem: '/not LO or HI' */ } /* End of If: '/If' */ /* End of Outputs for SubSystem: '/temp down' */ } /* End of If: '/If5' */ /* End of Outputs for SubSystem: '/If Action Subsystem' */ } /* End of If: '/If1' */ /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read11' */ rtb_Compare_gy = (rtDW.TM_CP_model.CCPF_TempToggleR_Stat > 0); /* If: '/If1' incorporates: * RelationalOperator: '/FixPt Relational Operator' * UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM */ if ((int32_t)rtb_Compare_gy > (int32_t)rtDW.DelayInput1_DSTATE_j) { /* Outputs for IfAction SubSystem: '/If Action Subsystem' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write1' incorporates: * Constant: '/true' */ rtDW.changed_FR_params = 1U; /* If: '/If5' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read11' * DataStoreRead: '/Data Store Read12' * Saturate: '/Saturation1' * Sum: '/Sum' */ if ((rtDW.TM_CP_model.CCPF_TempToggleR_Stat == 1) || (rtDW.TM_CP_model.CCPF_TempToggleR_Stat == 3)) { /* Outputs for IfAction SubSystem: '/temp up' incorporates: * ActionPort: '/Action Port' */ /* Saturate: '/Saturation1' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read12' * Sum: '/Add' */ if ((uint16_t)(rtDW.CCU_SET_FR + 5U) > 305) { rtDW.CCU_SET_FR = 305U; } else if ((uint16_t)(rtDW.CCU_SET_FR + 5U) < 155) { rtDW.CCU_SET_FR = 155U; } else { rtDW.CCU_SET_FR = (uint16_t)(rtDW.CCU_SET_FR + 5U); } /* End of Saturate: '/Saturation1' */ /* If: '/If' incorporates: * DataStoreWrite: '/Data Store Write13' */ if (rtDW.CCU_SET_FR < 160) { /* Outputs for IfAction SubSystem: '/LO mode' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/LOW' */ rtDW.LO_HI_MODE_FR = 1U; /* End of Outputs for SubSystem: '/LO mode' */ } else if (rtDW.CCU_SET_FR > 290) { /* Outputs for IfAction SubSystem: '/HI mode' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/HI' */ rtDW.LO_HI_MODE_FR = 2U; /* End of Outputs for SubSystem: '/HI mode' */ } else { /* Outputs for IfAction SubSystem: '/not LO or HI' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/not LO or HI' */ rtDW.LO_HI_MODE_FR = 0U; /* End of Outputs for SubSystem: '/not LO or HI' */ } /* End of If: '/If' */ /* End of Outputs for SubSystem: '/temp up' */ } else { /* Outputs for IfAction SubSystem: '/temp down' incorporates: * ActionPort: '/Action Port' */ if ((uint16_t)(rtDW.CCU_SET_FR - 5) > 305) { /* Saturate: '/Saturation1' */ rtDW.CCU_SET_FR = 305U; } else if ((uint16_t)(rtDW.CCU_SET_FR - 5) < 155) { /* Saturate: '/Saturation1' */ rtDW.CCU_SET_FR = 155U; } else { /* Saturate: '/Saturation1' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read12' * Sum: '/Sum' */ rtDW.CCU_SET_FR = (uint16_t)(rtDW.CCU_SET_FR - 5); } /* If: '/If' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read12' * DataStoreWrite: '/Data Store Write13' * Saturate: '/Saturation1' * Sum: '/Sum' */ if (rtDW.CCU_SET_FR < 160) { /* Outputs for IfAction SubSystem: '/LO mode' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/LOW' */ rtDW.LO_HI_MODE_FR = 1U; /* End of Outputs for SubSystem: '/LO mode' */ } else if (rtDW.CCU_SET_FR > 290) { /* Outputs for IfAction SubSystem: '/HI mode' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/HI' */ rtDW.LO_HI_MODE_FR = 2U; /* End of Outputs for SubSystem: '/HI mode' */ } else { /* Outputs for IfAction SubSystem: '/not LO or HI' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/not LO or HI' */ rtDW.LO_HI_MODE_FR = 0U; /* End of Outputs for SubSystem: '/not LO or HI' */ } /* End of If: '/If' */ /* End of Outputs for SubSystem: '/temp down' */ } /* End of If: '/If5' */ /* End of Outputs for SubSystem: '/If Action Subsystem' */ } /* End of If: '/If1' */ /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read11' */ rtb_Compare_n5 = (rtDW.TM_CP_model.CCPR_TempToggleL_Stat > 0); /* If: '/If1' incorporates: * RelationalOperator: '/FixPt Relational Operator' * UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM */ if ((int32_t)rtb_Compare_n5 > (int32_t)rtDW.DelayInput1_DSTATE_f) { /* Outputs for IfAction SubSystem: '/If Action Subsystem' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write2' incorporates: * Constant: '/true' */ rtDW.changed_RL_params = 1U; /* If: '/If5' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read11' * DataStoreRead: '/Data Store Read12' * Saturate: '/Saturation1' * Sum: '/Sum' */ if ((rtDW.TM_CP_model.CCPR_TempToggleL_Stat == 1) || (rtDW.TM_CP_model.CCPR_TempToggleL_Stat == 3)) { /* Outputs for IfAction SubSystem: '/temp up' incorporates: * ActionPort: '/Action Port' */ /* Saturate: '/Saturation1' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read12' * Sum: '/Add' */ if ((uint16_t)(rtDW.CCU_SET_RL + 5U) > 305) { /* DataTypeConversion: '/Data Type Conversion1' */ rtDW.CCU_SET_RL = 305U; } else if ((uint16_t)(rtDW.CCU_SET_RL + 5U) < 155) { /* DataTypeConversion: '/Data Type Conversion1' */ rtDW.CCU_SET_RL = 155U; } else { /* DataTypeConversion: '/Data Type Conversion1' */ rtDW.CCU_SET_RL = (uint16_t)(rtDW.CCU_SET_RL + 5U); } /* End of Saturate: '/Saturation1' */ /* If: '/If' incorporates: * DataStoreWrite: '/Data Store Write13' */ if (rtDW.CCU_SET_RL < 160) { /* Outputs for IfAction SubSystem: '/LO mode' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/LOW' */ rtDW.LO_HI_MODE_RL = 1U; /* End of Outputs for SubSystem: '/LO mode' */ } else if (rtDW.CCU_SET_RL > 290) { /* Outputs for IfAction SubSystem: '/HI mode' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/HI' */ rtDW.LO_HI_MODE_RL = 2U; /* End of Outputs for SubSystem: '/HI mode' */ } else { /* Outputs for IfAction SubSystem: '/not LO or HI' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/not LO or HI' */ rtDW.LO_HI_MODE_RL = 0U; /* End of Outputs for SubSystem: '/not LO or HI' */ } /* End of If: '/If' */ /* End of Outputs for SubSystem: '/temp up' */ } else { /* Outputs for IfAction SubSystem: '/temp down' incorporates: * ActionPort: '/Action Port' */ if ((uint16_t)(rtDW.CCU_SET_RL - 5) > 305) { /* DataTypeConversion: '/Data Type Conversion1' incorporates: * Saturate: '/Saturation1' */ rtDW.CCU_SET_RL = 305U; } else if ((uint16_t)(rtDW.CCU_SET_RL - 5) < 155) { /* DataTypeConversion: '/Data Type Conversion1' incorporates: * Saturate: '/Saturation1' */ rtDW.CCU_SET_RL = 155U; } else { /* DataTypeConversion: '/Data Type Conversion1' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read12' * Saturate: '/Saturation1' * Sum: '/Sum' */ rtDW.CCU_SET_RL = (uint16_t)(rtDW.CCU_SET_RL - 5); } /* If: '/If' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read12' * DataStoreWrite: '/Data Store Write13' * Saturate: '/Saturation1' * Sum: '/Sum' */ if (rtDW.CCU_SET_RL < 160) { /* Outputs for IfAction SubSystem: '/LO mode' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/LOW' */ rtDW.LO_HI_MODE_RL = 1U; /* End of Outputs for SubSystem: '/LO mode' */ } else if (rtDW.CCU_SET_RL > 290) { /* Outputs for IfAction SubSystem: '/HI mode' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/HI' */ rtDW.LO_HI_MODE_RL = 2U; /* End of Outputs for SubSystem: '/HI mode' */ } else { /* Outputs for IfAction SubSystem: '/not LO or HI' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/not LO or HI' */ rtDW.LO_HI_MODE_RL = 0U; /* End of Outputs for SubSystem: '/not LO or HI' */ } /* End of If: '/If' */ /* End of Outputs for SubSystem: '/temp down' */ } /* End of If: '/If5' */ /* End of Outputs for SubSystem: '/If Action Subsystem' */ } /* End of If: '/If1' */ /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read11' */ rtb_Compare_ku = (rtDW.TM_CP_model.CCPR_TempToggleR_Stat > 0); /* If: '/If1' incorporates: * RelationalOperator: '/FixPt Relational Operator' * UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM */ if ((int32_t)rtb_Compare_ku > (int32_t)rtDW.DelayInput1_DSTATE_kz) { /* Outputs for IfAction SubSystem: '/If Action Subsystem' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write2' incorporates: * Constant: '/true' */ rtDW.changed_RR_params = 1U; /* If: '/If5' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read11' * DataStoreRead: '/Data Store Read12' * Saturate: '/Saturation1' * Sum: '/Sum' */ if ((rtDW.TM_CP_model.CCPR_TempToggleR_Stat == 1) || (rtDW.TM_CP_model.CCPR_TempToggleR_Stat == 3)) { /* Outputs for IfAction SubSystem: '/temp up' incorporates: * ActionPort: '/Action Port' */ /* Saturate: '/Saturation1' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read12' * Sum: '/Add' */ if ((uint16_t)(rtDW.CCU_SET_RR + 5U) > 305) { /* DataTypeConversion: '/Data Type Conversion1' */ rtDW.CCU_SET_RR = 305U; } else if ((uint16_t)(rtDW.CCU_SET_RR + 5U) < 155) { /* DataTypeConversion: '/Data Type Conversion1' */ rtDW.CCU_SET_RR = 155U; } else { /* DataTypeConversion: '/Data Type Conversion1' */ rtDW.CCU_SET_RR = (uint16_t)(rtDW.CCU_SET_RR + 5U); } /* End of Saturate: '/Saturation1' */ /* If: '/If' incorporates: * DataStoreWrite: '/Data Store Write13' */ if (rtDW.CCU_SET_RR < 160) { /* Outputs for IfAction SubSystem: '/LO mode' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/LOW' */ rtDW.LO_HI_MODE_RR = 1U; /* End of Outputs for SubSystem: '/LO mode' */ } else if (rtDW.CCU_SET_RR > 290) { /* Outputs for IfAction SubSystem: '/HI mode' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/HI' */ rtDW.LO_HI_MODE_RR = 2U; /* End of Outputs for SubSystem: '/HI mode' */ } else { /* Outputs for IfAction SubSystem: '/not LO or HI' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/not LO or HI' */ rtDW.LO_HI_MODE_RR = 0U; /* End of Outputs for SubSystem: '/not LO or HI' */ } /* End of If: '/If' */ /* End of Outputs for SubSystem: '/temp up' */ } else { /* Outputs for IfAction SubSystem: '/temp down' incorporates: * ActionPort: '/Action Port' */ if ((uint16_t)(rtDW.CCU_SET_RR - 5) > 305) { /* DataTypeConversion: '/Data Type Conversion1' incorporates: * Saturate: '/Saturation1' */ rtDW.CCU_SET_RR = 305U; } else if ((uint16_t)(rtDW.CCU_SET_RR - 5) < 155) { /* DataTypeConversion: '/Data Type Conversion1' incorporates: * Saturate: '/Saturation1' */ rtDW.CCU_SET_RR = 155U; } else { /* DataTypeConversion: '/Data Type Conversion1' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read12' * Saturate: '/Saturation1' * Sum: '/Sum' */ rtDW.CCU_SET_RR = (uint16_t)(rtDW.CCU_SET_RR - 5); } /* If: '/If' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read12' * DataStoreWrite: '/Data Store Write13' * Saturate: '/Saturation1' * Sum: '/Sum' */ if (rtDW.CCU_SET_RR < 160) { /* Outputs for IfAction SubSystem: '/LO mode' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/LOW' */ rtDW.LO_HI_MODE_RR = 1U; /* End of Outputs for SubSystem: '/LO mode' */ } else if (rtDW.CCU_SET_RR > 290) { /* Outputs for IfAction SubSystem: '/HI mode' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/HI' */ rtDW.LO_HI_MODE_RR = 2U; /* End of Outputs for SubSystem: '/HI mode' */ } else { /* Outputs for IfAction SubSystem: '/not LO or HI' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/not LO or HI' */ rtDW.LO_HI_MODE_RR = 0U; /* End of Outputs for SubSystem: '/not LO or HI' */ } /* End of If: '/If' */ /* End of Outputs for SubSystem: '/temp down' */ } /* End of If: '/If5' */ /* End of Outputs for SubSystem: '/If Action Subsystem' */ } /* End of If: '/If1' */ /* Outputs for Enabled SubSystem: '/Subsystem2' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU2_MODEL.FIU_TargetTempRL_Val_ro > 0) { /* Gain: '/Gain1' incorporates: * Bias: '/Bias' * DataTypeConversion: '/Data Type Conversion' * Gain: '/Gain' */ rtb_D_la = (0.5 * (double)rtDW.FIU_CCU2_MODEL.FIU_TargetTempRL_Val_ro + 15.5) * 10.0; /* Saturate: '/Saturation' incorporates: * DataTypeConversion: '/Data Type Conversion1' */ if ((uint16_t)rtb_D_la > 305) { /* DataTypeConversion: '/Data Type Conversion1' */ rtDW.CCU_SET_RL = 305U; } else { /* DataTypeConversion: '/Data Type Conversion1' */ rtDW.CCU_SET_RL = (uint16_t)rtb_D_la; } /* End of Saturate: '/Saturation' */ /* DataStoreWrite: '/Data Store Write2' incorporates: * Constant: '/true' */ rtDW.changed_RL_params = 1U; /* If: '/If' incorporates: * DataStoreWrite: '/Data Store Write1' */ if (rtDW.CCU_SET_RL < 165) { /* Outputs for IfAction SubSystem: '/LO mode' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/LOW' */ rtDW.LO_HI_MODE_RL = 1U; /* End of Outputs for SubSystem: '/LO mode' */ } else if (rtDW.CCU_SET_RL > 295) { /* Outputs for IfAction SubSystem: '/HI mode' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/HI' */ rtDW.LO_HI_MODE_RL = 2U; /* End of Outputs for SubSystem: '/HI mode' */ } else { /* Outputs for IfAction SubSystem: '/not LO or HI' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/not LO or HI' */ rtDW.LO_HI_MODE_RL = 0U; /* End of Outputs for SubSystem: '/not LO or HI' */ } /* End of If: '/If' */ } /* End of Outputs for SubSystem: '/Subsystem2' */ /* Outputs for Enabled SubSystem: '/Subsystem25' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU2_MODEL.FIU_FootTempCorRL_Req > 0) { /* Sum: '/Plus' incorporates: * Constant: '/Constant' * DataStoreWrite: '/Data Store Write1' */ rtDW.CCU_SET_FOOT_RL = (uint8_t)(rtDW.FIU_CCU2_MODEL.FIU_FootTempCorRL_Req - 1); } /* End of Outputs for SubSystem: '/Subsystem25' */ /* Outputs for Enabled SubSystem: '/Subsystem26' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU2_MODEL.FIU_FootTempCorRR_Req > 0) { /* Sum: '/Plus' incorporates: * Constant: '/Constant' * DataStoreWrite: '/Data Store Write1' */ rtDW.CCU_SET_FOOT_RR = (uint8_t)(rtDW.FIU_CCU2_MODEL.FIU_FootTempCorRR_Req - 1); } /* End of Outputs for SubSystem: '/Subsystem26' */ /* Outputs for Enabled SubSystem: '/Subsystem27' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU2_MODEL.FIU_CCmodeRL_Req > 0) { /* Switch: '/Switch' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.CCU_MODE_RL = (uint8_t)(rtDW.FIU_CCU2_MODEL.FIU_CCmodeRL_Req > 1); /* DataStoreWrite: '/Data Store Write2' incorporates: * Constant: '/true' */ rtDW.changed_RL_params = 1U; } /* End of Outputs for SubSystem: '/Subsystem27' */ /* Outputs for Enabled SubSystem: '/Subsystem28' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU2_MODEL.FIU_AirDirectionRL_Def_Req > 0) { /* DataStoreWrite: '/Data Store Write2' incorporates: * Constant: '/true' */ rtDW.changed_RL_params = 1U; } /* End of Outputs for SubSystem: '/Subsystem28' */ /* Outputs for Enabled SubSystem: '/Subsystem29' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU2_MODEL.FIU_AirDirectionRL_Face_Req > 0) { /* Switch: '/Switch' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.CCU_FACE_RL = (uint8_t) (rtDW.FIU_CCU2_MODEL.FIU_AirDirectionRL_Face_Req <= 1); /* DataStoreWrite: '/Data Store Write2' incorporates: * Constant: '/true' */ rtDW.changed_RL_params = 1U; } /* End of Outputs for SubSystem: '/Subsystem29' */ /* Outputs for Enabled SubSystem: '/Subsystem3' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU2_MODEL.FIU_TargetTempRR_Val_ro > 0) { /* Gain: '/Gain1' incorporates: * Bias: '/Bias' * DataTypeConversion: '/Data Type Conversion' * Gain: '/Gain' */ rtb_D_la = (0.5 * (double)rtDW.FIU_CCU2_MODEL.FIU_TargetTempRR_Val_ro + 15.5) * 10.0; /* Saturate: '/Saturation' incorporates: * DataTypeConversion: '/Data Type Conversion1' */ if ((uint16_t)rtb_D_la > 305) { /* DataTypeConversion: '/Data Type Conversion1' */ rtDW.CCU_SET_RR = 305U; } else { /* DataTypeConversion: '/Data Type Conversion1' */ rtDW.CCU_SET_RR = (uint16_t)rtb_D_la; } /* End of Saturate: '/Saturation' */ /* DataStoreWrite: '/Data Store Write2' incorporates: * Constant: '/true' */ rtDW.changed_RR_params = 1U; /* If: '/If' incorporates: * DataStoreWrite: '/Data Store Write1' */ if (rtDW.CCU_SET_RR < 165) { /* Outputs for IfAction SubSystem: '/LO mode' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/LOW' */ rtDW.LO_HI_MODE_RR = 1U; /* End of Outputs for SubSystem: '/LO mode' */ } else if (rtDW.CCU_SET_RR > 295) { /* Outputs for IfAction SubSystem: '/HI mode' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/HI' */ rtDW.LO_HI_MODE_RR = 2U; /* End of Outputs for SubSystem: '/HI mode' */ } else { /* Outputs for IfAction SubSystem: '/not LO or HI' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/not LO or HI' */ rtDW.LO_HI_MODE_RR = 0U; /* End of Outputs for SubSystem: '/not LO or HI' */ } /* End of If: '/If' */ } /* End of Outputs for SubSystem: '/Subsystem3' */ /* Outputs for Enabled SubSystem: '/Subsystem30' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU2_MODEL.FIU_AirDirectionRL_Foot_Req > 0) { /* Switch: '/Switch' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.CCU_FOOT_RL = (uint8_t) (rtDW.FIU_CCU2_MODEL.FIU_AirDirectionRL_Foot_Req <= 1); /* DataStoreWrite: '/Data Store Write2' incorporates: * Constant: '/true' */ rtDW.changed_RL_params = 1U; } /* End of Outputs for SubSystem: '/Subsystem30' */ /* Outputs for Enabled SubSystem: '/Subsystem31' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU2_MODEL.FIU_CCmodeRR_Req > 0) { /* Switch: '/Switch' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.CCU_MODE_RR = (uint8_t)(rtDW.FIU_CCU2_MODEL.FIU_CCmodeRR_Req > 1); /* DataStoreWrite: '/Data Store Write2' incorporates: * Constant: '/true' */ rtDW.changed_RR_params = 1U; } /* End of Outputs for SubSystem: '/Subsystem31' */ /* Outputs for Enabled SubSystem: '/Subsystem32' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU2_MODEL.FIU_AirDirectionRR_Def_Req > 0) { /* DataStoreWrite: '/Data Store Write2' incorporates: * Constant: '/true' */ rtDW.changed_RR_params = 1U; } /* End of Outputs for SubSystem: '/Subsystem32' */ /* Outputs for Enabled SubSystem: '/Subsystem33' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU2_MODEL.FIU_AirDirectionRR_Face_Req > 0) { /* Switch: '/Switch' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.CCU_FACE_RR = (uint8_t) (rtDW.FIU_CCU2_MODEL.FIU_AirDirectionRR_Face_Req <= 1); /* DataStoreWrite: '/Data Store Write2' incorporates: * Constant: '/true' */ rtDW.changed_RR_params = 1U; } /* End of Outputs for SubSystem: '/Subsystem33' */ /* Outputs for Enabled SubSystem: '/Subsystem34' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU2_MODEL.FIU_AirDirectionRR_Foot_Req > 0) { /* Switch: '/Switch' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.CCU_FOOT_RR = (uint8_t) (rtDW.FIU_CCU2_MODEL.FIU_AirDirectionRR_Foot_Req <= 1); /* DataStoreWrite: '/Data Store Write2' incorporates: * Constant: '/true' */ rtDW.changed_RR_params = 1U; } /* End of Outputs for SubSystem: '/Subsystem34' */ /* Outputs for Enabled SubSystem: '/Subsystem35' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU2_MODEL.FIU_BlowerSpeedRL_Req > 0) { /* Switch: '/Switch5' incorporates: * Constant: '/blower off' * DataStoreWrite: '/Data Store Write1' */ if (rtDW.FIU_CCU2_MODEL.FIU_BlowerSpeedRL_Req > 7) { rtDW.CCU_BLOWERS_RL = 0U; } else { rtDW.CCU_BLOWERS_RL = rtDW.FIU_CCU2_MODEL.FIU_BlowerSpeedRL_Req; } /* End of Switch: '/Switch5' */ /* DataStoreWrite: '/Data Store Write2' incorporates: * Constant: '/true' */ rtDW.changed_RL_params = 1U; } /* End of Outputs for SubSystem: '/Subsystem35' */ /* Outputs for Enabled SubSystem: '/Subsystem36' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU2_MODEL.FIU_BlowerSpeedRR_Req > 0) { /* Switch: '/Switch5' incorporates: * Constant: '/blower off' * DataStoreWrite: '/Data Store Write1' */ if (rtDW.FIU_CCU2_MODEL.FIU_BlowerSpeedRR_Req > 7) { rtDW.CCU_BLOWERS_RR = 0U; } else { rtDW.CCU_BLOWERS_RR = rtDW.FIU_CCU2_MODEL.FIU_BlowerSpeedRR_Req; } /* End of Switch: '/Switch5' */ /* DataStoreWrite: '/Data Store Write2' incorporates: * Constant: '/true' */ rtDW.changed_RR_params = 1U; } /* End of Outputs for SubSystem: '/Subsystem36' */ /* Outputs for Enabled SubSystem: '/Subsystem37' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU2_MODEL.FIU_CCautoModeRL_Req > 0) { /* DataStoreWrite: '/Data Store Write1' */ rtDW.CCU_AUTOMODE_RL = rtDW.FIU_CCU2_MODEL.FIU_CCautoModeRL_Req; } /* End of Outputs for SubSystem: '/Subsystem37' */ /* Outputs for Enabled SubSystem: '/Subsystem38' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU2_MODEL.FIU_CCautoModeRR_Req > 0) { /* DataStoreWrite: '/Data Store Write1' */ rtDW.CCU_AUTOMODE_RR = rtDW.FIU_CCU2_MODEL.FIU_CCautoModeRR_Req; /* DataStoreWrite: '/Data Store Write2' incorporates: * Constant: '/true' */ rtDW.changed_RR_params = 1U; } /* End of Outputs for SubSystem: '/Subsystem38' */ /* Outputs for Enabled SubSystem: '/Subsystem39' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU2_MODEL.FIU_DeflectorSwRLB_Req > 0) { /* Switch: '/Switch' incorporates: * Constant: '/no LED' * DataStoreWrite: '/Data Store Write1' */ if (rtDW.FIU_CCU2_MODEL.FIU_DeflectorSwRLB_Req > 3) { rtDW.DRS_SRL = 0U; } else { rtDW.DRS_SRL = rtDW.FIU_CCU2_MODEL.FIU_DeflectorSwRLB_Req; } /* End of Switch: '/Switch' */ } /* End of Outputs for SubSystem: '/Subsystem39' */ /* Outputs for Enabled SubSystem: '/Subsystem40' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU2_MODEL.FIU_DeflectorSwFCL_Req > 0) { /* Switch: '/Switch' incorporates: * Constant: '/no LED' * DataStoreWrite: '/Data Store Write1' */ if (rtDW.FIU_CCU2_MODEL.FIU_DeflectorSwFCL_Req > 3) { rtDW.DRS_CRL = 0U; } else { rtDW.DRS_CRL = rtDW.FIU_CCU2_MODEL.FIU_DeflectorSwFCL_Req; } /* End of Switch: '/Switch' */ } /* End of Outputs for SubSystem: '/Subsystem40' */ /* Outputs for Enabled SubSystem: '/Subsystem41' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU2_MODEL.FIU_ACrearOFF_Req > 0) { /* Switch: '/Switch' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.CCU_AC_REAR = (uint8_t)(rtDW.FIU_CCU2_MODEL.FIU_ACrearOFF_Req <= 1); /* DataStoreWrite: '/Data Store Write2' incorporates: * Constant: '/true' */ rtDW.changed_RL_params = 1U; } /* End of Outputs for SubSystem: '/Subsystem41' */ /* Outputs for Enabled SubSystem: '/Subsystem42' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU2_MODEL.FIU_DeflectorSwFCR_Req > 0) { /* Switch: '/Switch' incorporates: * Constant: '/no LED' * DataStoreWrite: '/Data Store Write1' */ if (rtDW.FIU_CCU2_MODEL.FIU_DeflectorSwFCR_Req > 3) { rtDW.DRS_CRR = 0U; } else { rtDW.DRS_CRR = rtDW.FIU_CCU2_MODEL.FIU_DeflectorSwFCR_Req; } /* End of Switch: '/Switch' */ } /* End of Outputs for SubSystem: '/Subsystem42' */ /* Outputs for Enabled SubSystem: '/Subsystem43' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU2_MODEL.FIU_DeflectorSwRRB_Req > 0) { /* Switch: '/Switch' incorporates: * Constant: '/no LED' * DataStoreWrite: '/Data Store Write1' */ if (rtDW.FIU_CCU2_MODEL.FIU_DeflectorSwRRB_Req > 3) { rtDW.DRS_SRR = 0U; } else { rtDW.DRS_SRR = rtDW.FIU_CCU2_MODEL.FIU_DeflectorSwRRB_Req; } /* End of Switch: '/Switch' */ } /* End of Outputs for SubSystem: '/Subsystem43' */ /* Outputs for Enabled SubSystem: '/Subsystem44' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU2_MODEL.FIU_RearZoneSync_Req > 0) { /* If: '/If' */ if (rtDW.FIU_CCU2_MODEL.FIU_RearZoneSync_Req == 1) { /* Outputs for IfAction SubSystem: '/sync rear action' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write18' incorporates: * Constant: '/on' */ rtDW.enable_rear_sync = 1U; /* MATLAB Function: '/logger' */ /* : fprintf('Logger CAN INPUT -> sync rear ON') */ printf("Logger CAN INPUT -> sync rear ON"); fflush(stdout); /* End of Outputs for SubSystem: '/sync rear action' */ } else if (rtDW.FIU_CCU2_MODEL.FIU_RearZoneSync_Req == 2) { /* Outputs for IfAction SubSystem: '/sync off rear action' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write18' incorporates: * Constant: '/on' */ rtDW.disable_rear_sync = 1U; /* MATLAB Function: '/logger' */ /* : fprintf('Logger CAN INPUT -> sync rear OFF') */ printf("Logger CAN INPUT -> sync rear OFF"); fflush(stdout); /* End of Outputs for SubSystem: '/sync off rear action' */ } /* End of If: '/If' */ } /* End of Outputs for SubSystem: '/Subsystem44' */ /* Outputs for Enabled SubSystem: '/Subsystem45' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU3_MODEL.FIU_Defrost_Req > 0) { /* Switch: '/Switch' incorporates: * DataStoreWrite: '/Data Store Write' */ rtDW.CCU_Defrost = (uint8_t)(rtDW.FIU_CCU3_MODEL.FIU_Defrost_Req <= 1); } /* End of Outputs for SubSystem: '/Subsystem45' */ /* Outputs for Enabled SubSystem: '/Subsystem46' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU3_MODEL.FIU_RLfootBlowDis_Req > 0) { /* Switch: '/Switch' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.CCU_foot_blower_dis_RL = (uint8_t) (rtDW.FIU_CCU3_MODEL.FIU_RLfootBlowDis_Req <= 1); } /* End of Outputs for SubSystem: '/Subsystem46' */ /* Outputs for Enabled SubSystem: '/Subsystem47' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU3_MODEL.FIU_RRfootBlowDis_Req > 0) { /* Switch: '/Switch' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.CCU_foot_blower_dis_RR = (uint8_t) (rtDW.FIU_CCU3_MODEL.FIU_RRfootBlowDis_Req <= 1); } /* End of Outputs for SubSystem: '/Subsystem47' */ /* Outputs for Enabled SubSystem: '/Subsystem48' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU3_MODEL.FIU_AromaIntens_Req > 0) { /* DataStoreWrite: '/Data Store Write13' */ rtDW.CCU_AromaIntens_stat = rtDW.FIU_CCU3_MODEL.FIU_AromaIntens_Req; } /* End of Outputs for SubSystem: '/Subsystem48' */ /* Outputs for Enabled SubSystem: '/Subsystem50' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU3_MODEL.FIU_ACmax_Req > 0) { /* DataStoreWrite: '/Data Store Write' */ rtDW.CCU_AC_MAX = rtDW.FIU_CCU3_MODEL.FIU_ACmax_Req; } /* End of Outputs for SubSystem: '/Subsystem50' */ /* Outputs for Enabled SubSystem: '/Subsystem51' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU3_MODEL.FIU_Aroma_Req > 0) { /* DataStoreWrite: '/Data Store Write13' */ rtDW.CCU_Aroma = rtDW.FIU_CCU3_MODEL.FIU_Aroma_Req; } /* End of Outputs for SubSystem: '/Subsystem51' */ /* Outputs for Enabled SubSystem: '/Subsystem52' incorporates: * EnablePort: '/Enable' */ if (rtDW.FIU_CCU3_MODEL.FIU_Ionization_Req > 0) { /* Switch: '/Switch' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.CCU_Ionization = (uint8_t)(rtDW.FIU_CCU3_MODEL.FIU_Ionization_Req <= 1); } /* End of Outputs for SubSystem: '/Subsystem52' */ /* Update for UnitDelay: '/Delay Input1' incorporates: * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read3' * * Block description for '/Delay Input1': * * Store in Global RAM */ rtDW.DelayInput1_DSTATE_m = rtb_Compare_ht; /* Update for UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM */ rtDW.DelayInput1_DSTATE_g = rtb_Compare_lq; /* Update for UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM */ rtDW.DelayInput1_DSTATE_c = rtb_Compare_jv1; /* Update for UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM */ rtDW.DelayInput1_DSTATE_ic = rtb_Compare_jve; /* Update for UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM */ rtDW.DelayInput1_DSTATE_n = rtb_Compare_bef; /* Update for UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM */ rtDW.DelayInput1_DSTATE_my = rtb_Compare_pt; /* Update for UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM */ rtDW.DelayInput1_DSTATE_a = rtb_LogicalOperator_fc; /* Update for UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM */ rtDW.DelayInput1_DSTATE_o = rtb_Compare_jv; /* Update for UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM */ rtDW.DelayInput1_DSTATE_od = rtb_Compare_o5; /* Update for UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM */ rtDW.DelayInput1_DSTATE_j = rtb_Compare_gy; /* Update for UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM */ rtDW.DelayInput1_DSTATE_f = rtb_Compare_n5; /* Update for UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM */ rtDW.DelayInput1_DSTATE_kz = rtb_Compare_ku; } /* End of DataStoreRead: '/Data Store Read1' */ /* End of Outputs for SubSystem: '/TM_CP and FIU - только при зажигании' */ /* Outputs for Enabled SubSystem: '/Sleep_mode' incorporates: * EnablePort: '/Enable' */ /* DataStoreRead: '/Data Store Read13' */ if (rtDW.sleep_model > 0) { /* DataStoreWrite: '/Data Store Write' incorporates: * DataStoreRead: '/Data Store Read' */ rtDW.CCU_MODE_FL = rtDW.CCU_STAT1_WAKEUP_MODEL.CCU_ModeFL_Stat; /* DataStoreWrite: '/Data Store Write1' incorporates: * DataStoreRead: '/Data Store Read' */ rtDW.CCU_MODE_FR = rtDW.CCU_STAT1_WAKEUP_MODEL.CCU_ModeFR_Stat; /* DataStoreWrite: '/Data Store Write10' incorporates: * DataStoreRead: '/Data Store Read' */ rtDW.CCU_FACE_RR = rtDW.CCU_STAT1_WAKEUP_MODEL.CCU_AirDirectionRR_Face_Stat; /* DataStoreWrite: '/Data Store Write11' incorporates: * DataStoreRead: '/Data Store Read' */ rtDW.CCU_FOOT_RR = rtDW.CCU_STAT1_WAKEUP_MODEL.CCU_AirDirectionRR_Foot_Stat; /* DataStoreWrite: '/Data Store Write12' incorporates: * DataStoreRead: '/Data Store Read' */ rtDW.CCU_DEF_FL = rtDW.CCU_STAT1_WAKEUP_MODEL.CCU_AirDirectionFL_Def_Stat; /* DataStoreWrite: '/Data Store Write13' incorporates: * DataStoreRead: '/Data Store Read' */ rtDW.CCU_FACE_FL = rtDW.CCU_STAT1_WAKEUP_MODEL.CCU_AirDirectionFL_Face_Stat; /* DataStoreWrite: '/Data Store Write14' incorporates: * DataStoreRead: '/Data Store Read' */ rtDW.CCU_FOOT_FL = rtDW.CCU_STAT1_WAKEUP_MODEL.CCU_AirDirectionFL_Foot_Stat; /* DataStoreWrite: '/Data Store Write15' incorporates: * DataStoreRead: '/Data Store Read' */ rtDW.CCU_DEF_FR = rtDW.CCU_STAT1_WAKEUP_MODEL.CCU_AirDirectionFR_Def_Stat; /* DataStoreWrite: '/Data Store Write16' incorporates: * DataStoreRead: '/Data Store Read' */ rtDW.CCU_FACE_FR = rtDW.CCU_STAT1_WAKEUP_MODEL.CCU_AirDirectionFR_Face_Stat; /* DataStoreWrite: '/Data Store Write17' incorporates: * DataStoreRead: '/Data Store Read' */ rtDW.CCU_FOOT_FR = rtDW.CCU_STAT1_WAKEUP_MODEL.CCU_AirDirectionFR_Foot_Stat; /* DataStoreWrite: '/Data Store Write18' incorporates: * DataStoreRead: '/Data Store Read' */ rtDW.CCU_RECIRC = rtDW.CCU_STAT1_WAKEUP_MODEL.CCU_Recirculation_Stat; /* DataStoreWrite: '/Data Store Write19' incorporates: * DataStoreRead: '/Data Store Read' */ rtDW.CCU_BLOWERS_FL = rtDW.CCU_STAT1_WAKEUP_MODEL.CCU_BlowerSpeedFL_Stat; /* DataStoreWrite: '/Data Store Write2' incorporates: * DataStoreRead: '/Data Store Read' */ rtDW.CCU_MODE_RL = rtDW.CCU_STAT1_WAKEUP_MODEL.CCU_ModeRL_Stat; /* DataStoreWrite: '/Data Store Write21' incorporates: * DataStoreRead: '/Data Store Read' */ rtDW.CCU_BLOWERS_FR = rtDW.CCU_STAT1_WAKEUP_MODEL.CCU_BlowerSpeedFR_Stat; /* DataStoreWrite: '/Data Store Write23' incorporates: * DataStoreRead: '/Data Store Read' */ rtDW.CCU_BLOWERS_RL = rtDW.CCU_STAT1_WAKEUP_MODEL.CCU_BlowerSpeedRL_Stat; /* DataStoreWrite: '/Data Store Write25' incorporates: * DataStoreRead: '/Data Store Read' */ rtDW.CCU_BLOWERS_RR = rtDW.CCU_STAT1_WAKEUP_MODEL.CCU_BlowerSpeedRR_Stat; /* DataStoreWrite: '/Data Store Write3' incorporates: * DataStoreRead: '/Data Store Read' */ rtDW.CCU_MODE_RR = rtDW.CCU_STAT1_WAKEUP_MODEL.CCU_ModeRR_Stat; /* DataStoreWrite: '/Data Store Write4' incorporates: * DataStoreRead: '/Data Store Read' */ rtDW.CCU_AUTOMODE_FL = rtDW.CCU_STAT1_WAKEUP_MODEL.CCU_AutoModeFL_Stat; /* DataStoreWrite: '/Data Store Write5' incorporates: * DataStoreRead: '/Data Store Read' */ rtDW.CCU_AUTOMODE_FR = rtDW.CCU_STAT1_WAKEUP_MODEL.CCU_AutoModeFR_Stat; /* DataStoreWrite: '/Data Store Write6' incorporates: * DataStoreRead: '/Data Store Read' */ rtDW.CCU_FACE_RL = rtDW.CCU_STAT1_WAKEUP_MODEL.CCU_AirDirectionRL_Face_Stat; /* DataStoreWrite: '/Data Store Write7' incorporates: * DataStoreRead: '/Data Store Read' */ rtDW.CCU_FOOT_RL = rtDW.CCU_STAT1_WAKEUP_MODEL.CCU_AirDirectionRL_Foot_Stat; /* DataStoreWrite: '/Data Store Write8' incorporates: * DataStoreRead: '/Data Store Read' */ rtDW.CCU_AUTOMODE_RL = rtDW.CCU_STAT1_WAKEUP_MODEL.CCU_AutoModeRL_Stat; /* DataStoreWrite: '/Data Store Write9' incorporates: * DataStoreRead: '/Data Store Read' */ rtDW.CCU_AUTOMODE_RR = rtDW.CCU_STAT1_WAKEUP_MODEL.CCU_AutoModeRR_Stat; /* DataTypeConversion: '/Data Type Conversion1' incorporates: * Bias: '/Bias' * DataStoreRead: '/Data Store Read' * DataTypeConversion: '/Data Type Conversion' * Gain: '/Gain' * Gain: '/Gain1' */ rtDW.CCU_SET_RL = (uint16_t)((0.5 * (double) rtDW.CCU_STAT1_WAKEUP_MODEL.CCU_TargetTempRL_Stat_ro + 15.5) * 10.0); /* Saturate: '/Saturation' */ if (rtDW.CCU_SET_RL > 305) { /* DataTypeConversion: '/Data Type Conversion1' */ rtDW.CCU_SET_RL = 305U; } /* End of Saturate: '/Saturation' */ /* If: '/If' incorporates: * DataStoreWrite: '/Data Store Write1' */ if (rtDW.CCU_SET_RL < 165) { /* Outputs for IfAction SubSystem: '/LO mode' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/LOW' */ rtDW.LO_HI_MODE_RL = 1U; /* End of Outputs for SubSystem: '/LO mode' */ } else if (rtDW.CCU_SET_RL > 295) { /* Outputs for IfAction SubSystem: '/HI mode' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/HI' */ rtDW.LO_HI_MODE_RL = 2U; /* End of Outputs for SubSystem: '/HI mode' */ } else { /* Outputs for IfAction SubSystem: '/not LO or HI' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/not LO or HI' */ rtDW.LO_HI_MODE_RL = 0U; /* End of Outputs for SubSystem: '/not LO or HI' */ } /* End of If: '/If' */ /* DataTypeConversion: '/Data Type Conversion1' incorporates: * Bias: '/Bias' * DataStoreRead: '/Data Store Read' * DataTypeConversion: '/Data Type Conversion' * Gain: '/Gain' * Gain: '/Gain1' */ rtDW.CCU_SET_RR = (uint16_t)((0.5 * (double) rtDW.CCU_STAT1_WAKEUP_MODEL.CCU_TargetTempRR_Stat_ro + 15.5) * 10.0); /* Saturate: '/Saturation' */ if (rtDW.CCU_SET_RR > 305) { /* DataTypeConversion: '/Data Type Conversion1' */ rtDW.CCU_SET_RR = 305U; } /* End of Saturate: '/Saturation' */ /* If: '/If' incorporates: * DataStoreWrite: '/Data Store Write1' */ if (rtDW.CCU_SET_RR < 165) { /* Outputs for IfAction SubSystem: '/LO mode' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/LOW' */ rtDW.LO_HI_MODE_RR = 1U; /* End of Outputs for SubSystem: '/LO mode' */ } else if (rtDW.CCU_SET_RR > 295) { /* Outputs for IfAction SubSystem: '/HI mode' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/HI' */ rtDW.LO_HI_MODE_RR = 2U; /* End of Outputs for SubSystem: '/HI mode' */ } else { /* Outputs for IfAction SubSystem: '/not LO or HI' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/not LO or HI' */ rtDW.LO_HI_MODE_RR = 0U; /* End of Outputs for SubSystem: '/not LO or HI' */ } /* End of If: '/If' */ /* DataTypeConversion: '/Data Type Conversion1' incorporates: * Bias: '/Bias' * DataStoreRead: '/Data Store Read' * DataTypeConversion: '/Data Type Conversion' * Gain: '/Gain' * Gain: '/Gain1' */ rtDW.CCU_SET_FL = (uint16_t)((0.5 * (double) rtDW.CCU_STAT1_WAKEUP_MODEL.CCU_TargetTempFL_Stat_ro + 15.5) * 10.0); /* Saturate: '/Saturation' */ if (rtDW.CCU_SET_FL > 305) { /* DataTypeConversion: '/Data Type Conversion1' */ rtDW.CCU_SET_FL = 305U; } /* End of Saturate: '/Saturation' */ /* If: '/If' incorporates: * DataStoreWrite: '/Data Store Write1' */ if (rtDW.CCU_SET_FL < 165) { /* Outputs for IfAction SubSystem: '/LO mode' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/LOW' */ rtDW.LO_HI_MODE_FL = 1U; /* End of Outputs for SubSystem: '/LO mode' */ } else if (rtDW.CCU_SET_FL > 295) { /* Outputs for IfAction SubSystem: '/HI mode' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/HI' */ rtDW.LO_HI_MODE_FL = 2U; /* End of Outputs for SubSystem: '/HI mode' */ } else { /* Outputs for IfAction SubSystem: '/not LO or HI' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/not LO or HI' */ rtDW.LO_HI_MODE_FL = 0U; /* End of Outputs for SubSystem: '/not LO or HI' */ } /* End of If: '/If' */ /* Gain: '/Gain1' incorporates: * Bias: '/Bias' * DataStoreRead: '/Data Store Read' * DataTypeConversion: '/Data Type Conversion' * Gain: '/Gain' */ rtb_D_la = (0.5 * (double) rtDW.CCU_STAT1_WAKEUP_MODEL.CCU_TargetTempFR_Stat_ro + 15.5) * 10.0; /* Saturate: '/Saturation' incorporates: * DataTypeConversion: '/Data Type Conversion1' */ if ((uint16_t)rtb_D_la > 305) { rtDW.CCU_SET_FR = 305U; } else { rtDW.CCU_SET_FR = (uint16_t)rtb_D_la; } /* End of Saturate: '/Saturation' */ /* If: '/If' incorporates: * DataStoreWrite: '/Data Store Write' */ if (rtDW.CCU_SET_FR < 165) { /* Outputs for IfAction SubSystem: '/LO mode' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/LOW' */ rtDW.LO_HI_MODE_FR = 1U; /* End of Outputs for SubSystem: '/LO mode' */ } else if (rtDW.CCU_SET_FR > 295) { /* Outputs for IfAction SubSystem: '/HI mode' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/HI' */ rtDW.LO_HI_MODE_FR = 2U; /* End of Outputs for SubSystem: '/HI mode' */ } else { /* Outputs for IfAction SubSystem: '/not LO or HI' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/not LO or HI' */ rtDW.LO_HI_MODE_FR = 0U; /* End of Outputs for SubSystem: '/not LO or HI' */ } /* End of If: '/If' */ /* DataStoreWrite: '/Data Store Write27' incorporates: * DataStoreRead: '/Data Store Read1' */ rtb_Switch1_j = rtDW.CCU_STAT2_WAKEUP_MODEL.CCU_FrontZoneSync_Stat; /* DataStoreWrite: '/Data Store Write28' incorporates: * DataStoreRead: '/Data Store Read1' */ rtb_timer_out = rtDW.CCU_STAT2_WAKEUP_MODEL.CCU_RearZoneSync_Stat; /* DataStoreWrite: '/Data Store Write29' incorporates: * DataStoreRead: '/Data Store Read1' */ rtb_DataTypeConversion3_l4 = rtDW.CCU_STAT2_WAKEUP_MODEL.CCU_AllZoneSync_Stat; /* DataStoreWrite: '/Data Store Write30' incorporates: * DataStoreRead: '/Data Store Read1' */ rtDW.CCU_AC_FRONT = rtDW.CCU_STAT2_WAKEUP_MODEL.CCU_ACfront_Stat; /* DataStoreWrite: '/Data Store Write31' incorporates: * DataStoreRead: '/Data Store Read1' */ rtDW.CCU_AC_REAR = rtDW.CCU_STAT2_WAKEUP_MODEL.CCU_ACrear_Stat; /* DataStoreWrite: '/Data Store Write32' incorporates: * DataStoreRead: '/Data Store Read1' */ rtDW.CCU_SET_FOOT_FL = rtDW.CCU_STAT2_WAKEUP_MODEL.CCU_FootTempCorFL_Stat; /* DataStoreWrite: '/Data Store Write33' incorporates: * DataStoreRead: '/Data Store Read1' */ rtDW.CCU_SET_FOOT_FR = rtDW.CCU_STAT2_WAKEUP_MODEL.CCU_FootTempCorFR_Stat; /* DataStoreWrite: '/Data Store Write34' incorporates: * DataStoreRead: '/Data Store Read1' */ rtDW.DRS_SFL = rtDW.CCU_STAT2_WAKEUP_MODEL.CCU_DeflectorSwDL_Stat; /* DataStoreWrite: '/Data Store Write35' incorporates: * DataStoreRead: '/Data Store Read1' */ rtDW.DRS_SFR = rtDW.CCU_STAT2_WAKEUP_MODEL.CCU_DeflectorSwDR_Stat; /* DataStoreWrite: '/Data Store Write36' incorporates: * DataStoreRead: '/Data Store Read1' */ rtDW.DRS_CFL = rtDW.CCU_STAT2_WAKEUP_MODEL.CCU_DeflectorSwFPL_Stat; /* DataStoreWrite: '/Data Store Write37' incorporates: * DataStoreRead: '/Data Store Read1' */ rtDW.DRS_CFR = rtDW.CCU_STAT2_WAKEUP_MODEL.CCU_DeflectorSwFPR_Stat; /* DataStoreWrite: '/Data Store Write38' incorporates: * DataStoreRead: '/Data Store Read1' */ rtDW.DRS_CRL = rtDW.CCU_STAT2_WAKEUP_MODEL.CCU_DeflectorSwFCL_Stat; /* DataStoreWrite: '/Data Store Write39' incorporates: * DataStoreRead: '/Data Store Read1' */ rtDW.DRS_CRR = rtDW.CCU_STAT2_WAKEUP_MODEL.CCU_DeflectorSwFCR_Stat; /* DataStoreWrite: '/Data Store Write40' incorporates: * DataStoreRead: '/Data Store Read1' */ rtDW.DRS_SRL = rtDW.CCU_STAT2_WAKEUP_MODEL.CCU_DeflectorSwRLB_Stat; /* DataStoreWrite: '/Data Store Write41' incorporates: * DataStoreRead: '/Data Store Read1' */ rtDW.DRS_SRR = rtDW.CCU_STAT2_WAKEUP_MODEL.CCU_DeflectorSwRRB_Stat; /* DataStoreWrite: '/Data Store Write42' incorporates: * DataStoreRead: '/Data Store Read2' */ rtDW.CCU_Rest = rtDW.CCU_STAT3_WAKEUP_MODEL.CCU_RestMode2_Stat; /* DataStoreWrite: '/Data Store Write20' incorporates: * DataStoreRead: '/Data Store Read3' */ rtDW.CCU_Defrost = rtDW.CCU_Msg1_WakeUp_model.CCU_DefrostLed_Req; /* DataStoreWrite: '/Data Store Write22' incorporates: * DataStoreRead: '/Data Store Read3' */ rtDW.Full_Rec = rtDW.CCU_Msg1_WakeUp_model.CCU_RecirculationLed_Cmd; /* DataStoreWrite: '/Data Store Write24' incorporates: * DataStoreRead: '/Data Store Read3' */ rtDW.CCU_AC_MAX = rtDW.CCU_Msg1_WakeUp_model.CCU_AC_MaxLed_Cmd; } /* End of DataStoreRead: '/Data Store Read13' */ /* End of Outputs for SubSystem: '/Sleep_mode' */ /* Switch: '/Switch2' incorporates: * BusCreator: '/Bus Creator2' * BusCreator: '/Bus Creator8' * Constant: '/Constant2' * DataStoreRead: '/Data Store Read49' * DataStoreRead: '/Data Store Read50' * DataStoreRead: '/Data Store Read51' * DataStoreRead: '/Data Store Read57' * DataStoreRead: '/Data Store Read58' * DataStoreRead: '/Data Store Read59' * DataStoreRead: '/Data Store Read60' * DataStoreRead: '/Data Store Read61' * DataStoreRead: '/Data Store Read64' * DataStoreRead: '/Data Store Read65' * DataStoreRead: '/Data Store Read66' * DataStoreRead: '/Data Store Read81' * DataStoreWrite: '/Data Store Write31' * DataTypeConversion: '/Data Type Conversion' * DataTypeConversion: '/Data Type Conversion' * DataTypeConversion: '/Data Type Conversion' * DataTypeConversion: '/Data Type Conversion1' * Logic: '/Logical Operator13' * Logic: '/Logical Operator4' * Logic: '/Logical Operator4' * Logic: '/Logical Operator9' * Switch: '/Switch1' * Switch: '/Switch3' * Switch: '/Switch4' * Switch: '/Switch5' * Switch: '/Switch6' * Switch: '/Switch7' */ if (rtDW.BCM_T15_Stat > 0) { /* Outport generated from: '/CCU_Stat1_model' incorporates: * BusCreator: '/Bus Creator' * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read10' * DataStoreRead: '/Data Store Read11' * DataStoreRead: '/Data Store Read17' * DataStoreRead: '/Data Store Read18' * DataStoreRead: '/Data Store Read19' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read20' * DataStoreRead: '/Data Store Read21' * DataStoreRead: '/Data Store Read22' * DataStoreRead: '/Data Store Read23' * DataStoreRead: '/Data Store Read24' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read4' * DataStoreRead: '/Data Store Read5' * DataStoreRead: '/Data Store Read6' * DataStoreRead: '/Data Store Read7' * DataStoreRead: '/Data Store Read8' * DataStoreRead: '/Data Store Read9' */ rtY.CCU_Stat1_model.CCU_ModeFL_Stat = rtDW.CCU_MODE_FL; rtY.CCU_Stat1_model.CCU_ModeFR_Stat = rtDW.CCU_MODE_FR; rtY.CCU_Stat1_model.CCU_ModeRL_Stat = rtDW.CCU_MODE_RL; rtY.CCU_Stat1_model.CCU_ModeRR_Stat = rtDW.CCU_MODE_RR; rtY.CCU_Stat1_model.CCU_AutoModeFL_Stat = rtDW.CCU_AUTOMODE_FL; rtY.CCU_Stat1_model.CCU_AutoModeFR_Stat = rtDW.CCU_AUTOMODE_FR; rtY.CCU_Stat1_model.CCU_AirDirectionRL_Face_Stat = rtDW.CCU_FACE_RL; rtY.CCU_Stat1_model.CCU_AirDirectionRL_Foot_Stat = rtDW.CCU_FOOT_RL; rtY.CCU_Stat1_model.CCU_AutoModeRL_Stat = rtDW.CCU_AUTOMODE_RL; rtY.CCU_Stat1_model.CCU_AutoModeRR_Stat = rtDW.CCU_AUTOMODE_RR; rtY.CCU_Stat1_model.CCU_AirDirectionRR_Face_Stat = rtDW.CCU_FACE_RR; rtY.CCU_Stat1_model.CCU_AirDirectionRR_Foot_Stat = rtDW.CCU_FOOT_RR; rtY.CCU_Stat1_model.CCU_AirDirectionFL_Def_Stat = rtDW.CCU_DEF_FL; rtY.CCU_Stat1_model.CCU_AirDirectionFL_Face_Stat = rtDW.CCU_FACE_FL; rtY.CCU_Stat1_model.CCU_AirDirectionFL_Foot_Stat = rtDW.CCU_FOOT_FL; rtY.CCU_Stat1_model.CCU_AirDirectionFR_Def_Stat = rtDW.CCU_DEF_FR; rtY.CCU_Stat1_model.CCU_AirDirectionFR_Face_Stat = rtDW.CCU_FACE_FR; rtY.CCU_Stat1_model.CCU_AirDirectionFR_Foot_Stat = rtDW.CCU_FOOT_FR; rtY.CCU_Stat1_model.CCU_Recirculation_Stat = rtDW.CCU_RECIRC; rtY.CCU_Stat1_model.CCU_BlowerSpeedFL_Stat = rtDW.CCU_BLOWERS_FL; /* Saturate: '/Saturation' incorporates: * DataStoreRead: '/Data Store Read13' */ if (rtDW.CCU_SET_FL > 310) { rtb_out_kez = 310U; } else if (rtDW.CCU_SET_FL < 155) { rtb_out_kez = 155U; } else { rtb_out_kez = rtDW.CCU_SET_FL; } /* Outport generated from: '/CCU_Stat1_model' incorporates: * Bias: '/Bias' * BusCreator: '/Bus Creator' * DataStoreRead: '/Data Store Read12' * DataTypeConversion: '/Data Type Conversion' * Gain: '/Gain' * Gain: '/Gain1' * Saturate: '/Saturation' */ rtY.CCU_Stat1_model.CCU_TargetTempFL_Stat_ro = (uint8_t) ((0.10000038146972656 * (double)rtb_out_kez - 16.0) * 2.0); rtY.CCU_Stat1_model.CCU_BlowerSpeedFR_Stat = rtDW.CCU_BLOWERS_FR; /* Saturate: '/Saturation' incorporates: * DataStoreRead: '/Data Store Read14' */ if (rtDW.CCU_SET_FR > 310) { rtb_out_kez = 310U; } else if (rtDW.CCU_SET_FR < 155) { rtb_out_kez = 155U; } else { rtb_out_kez = rtDW.CCU_SET_FR; } /* Outport generated from: '/CCU_Stat1_model' incorporates: * Bias: '/Bias1' * BusCreator: '/Bus Creator' * DataStoreRead: '/Data Store Read26' * DataTypeConversion: '/Data Type Conversion' * Gain: '/Gain' * Gain: '/Gain1' * Saturate: '/Saturation' */ rtY.CCU_Stat1_model.CCU_TargetTempFR_Stat_ro = (uint8_t) ((0.10000038146972656 * (double)rtb_out_kez - 16.0) * 2.0); rtY.CCU_Stat1_model.CCU_BlowerSpeedRL_Stat = rtDW.CCU_BLOWERS_RL; /* Saturate: '/Saturation' incorporates: * DataStoreRead: '/Data Store Read15' */ if (rtDW.CCU_SET_RR > 310) { rtb_out_kez = 310U; } else if (rtDW.CCU_SET_RR < 155) { rtb_out_kez = 155U; } else { rtb_out_kez = rtDW.CCU_SET_RR; } /* Outport generated from: '/CCU_Stat1_model' incorporates: * Bias: '/Bias' * BusCreator: '/Bus Creator' * DataStoreRead: '/Data Store Read25' * DataTypeConversion: '/Data Type Conversion' * Gain: '/Gain' * Gain: '/Gain1' * Saturate: '/Saturation' */ rtY.CCU_Stat1_model.CCU_TargetTempRR_Stat_ro = (uint8_t) ((0.10000038146972656 * (double)rtb_out_kez - 16.0) * 2.0); rtY.CCU_Stat1_model.CCU_BlowerSpeedRR_Stat = rtDW.CCU_BLOWERS_RR; /* Saturate: '/Saturation' incorporates: * DataStoreRead: '/Data Store Read16' */ if (rtDW.CCU_SET_RL > 310) { rtb_out_kez = 310U; } else if (rtDW.CCU_SET_RL < 155) { rtb_out_kez = 155U; } else { rtb_out_kez = rtDW.CCU_SET_RL; } /* Outport generated from: '/CCU_Stat1_model' incorporates: * Bias: '/Bias' * DataTypeConversion: '/Data Type Conversion' * Gain: '/Gain' * Gain: '/Gain1' * Saturate: '/Saturation' */ rtY.CCU_Stat1_model.CCU_TargetTempRL_Stat_ro = (uint8_t) ((0.10000038146972656 * (double)rtb_out_kez - 16.0) * 2.0); /* Outport generated from: '/CCU_Stat2_model' incorporates: * BusCreator: '/Bus Creator1' * DataStoreRead: '/Data Store Read27' * DataStoreRead: '/Data Store Read28' * DataStoreRead: '/Data Store Read29' * DataStoreRead: '/Data Store Read34' * DataStoreRead: '/Data Store Read35' * DataStoreRead: '/Data Store Read55' * DataStoreRead: '/Data Store Read56' * DataStoreRead: '/Data Store Read62' * DataStoreRead: '/Data Store Read63' * DataStoreRead: '/Data Store Read67' * DataStoreRead: '/Data Store Read68' * DataStoreRead: '/Data Store Read69' * DataStoreRead: '/Data Store Read70' * DataStoreRead: '/Data Store Read71' * DataStoreRead: '/Data Store Read72' * DataStoreRead: '/Data Store Read73' * DataStoreRead: '/Data Store Read74' * DataStoreRead: '/Data Store Read77' * DataStoreRead: '/Data Store Read82' * DataStoreRead: '/Data Store Read86' */ rtY.CCU_Stat2_model.CCU_AromaCartridgeSw_Stat = rtDW.Aroma_CartridgeSw; rtY.CCU_Stat2_model.CCU_FrontZoneSync_Stat = rtb_Switch1_j; rtY.CCU_Stat2_model.CCU_RearZoneSync_Stat = rtb_timer_out; rtY.CCU_Stat2_model.CCU_AllZoneSync_Stat = rtb_DataTypeConversion3_l4; rtY.CCU_Stat2_model.CCU_ACfront_Stat = rtDW.CCU_AC_FRONT; rtY.CCU_Stat2_model.CCU_ACrear_Stat = rtDW.CCU_AC_REAR; rtY.CCU_Stat2_model.CCU_ACmaxF_Stat = 0U; rtY.CCU_Stat2_model.CCU_ACmaxR_Stat = 0U; rtY.CCU_Stat2_model.CCU_Defrost_Stat = rtDW.CCU_Defrost; rtY.CCU_Stat2_model.CCU_Ionization_Stat = 0U; rtY.CCU_Stat2_model.CCU_FootTempCorFL_Stat = rtDW.CCU_SET_FOOT_FL; rtY.CCU_Stat2_model.CCU_FootTempCorFR_Stat = rtDW.CCU_SET_FOOT_FR; rtY.CCU_Stat2_model.CCU_AromaIntens_Stat = rtDW.CCU_AromaIntens_stat; rtY.CCU_Stat2_model.CCU_FootTempCorRL_Stat = rtDW.CCU_SET_FOOT_RL; rtY.CCU_Stat2_model.CCU_FootTempCorRR_Stat = rtDW.CCU_SET_FOOT_RR; rtY.CCU_Stat2_model.CCU_DeflectorSwDL_Stat = rtDW.DRS_SFL; rtY.CCU_Stat2_model.CCU_DeflectorSwDR_Stat = rtDW.DRS_SFR; rtY.CCU_Stat2_model.CCU_DeflectorSwFPL_Stat = rtDW.DRS_CFL; rtY.CCU_Stat2_model.CCU_DeflectorSwFPR_Stat = rtDW.DRS_CFR; rtY.CCU_Stat2_model.CCU_DeflectorSwFCL_Stat = rtDW.DRS_CRL; rtY.CCU_Stat2_model.CCU_DeflectorSwFCR_Stat = rtDW.DRS_CRR; rtY.CCU_Stat2_model.CCU_DeflectorSwRLB_Stat = rtDW.DRS_SRL; rtY.CCU_Stat2_model.CCU_DeflectorSwRRB_Stat = rtDW.DRS_SRR; /* Saturate: '/Saturation' incorporates: * MATLAB Function: '/MATLAB Function' */ if (El_window_heating <= 160) { /* Outport generated from: '/CCUCAN_HVC_REQ_MSG_MODEL' */ rtY.CCUCAN_HVC_REQ_MSG_MODEL.CCU_eCompSpeedReq_Val_ro = El_window_heating; } else { /* Outport generated from: '/CCUCAN_HVC_REQ_MSG_MODEL' */ rtY.CCUCAN_HVC_REQ_MSG_MODEL.CCU_eCompSpeedReq_Val_ro = 160U; } /* End of Saturate: '/Saturation' */ /* Outport generated from: '/CCUCAN_HVC_REQ_MSG_MODEL' incorporates: * BusCreator: '/Bus Creator3' * DataStoreRead: '/Data Store Read37' * DataStoreWrite: '/Data Store Write13' * DataTypeConversion: '/Data Type Conversion' */ rtY.CCUCAN_HVC_REQ_MSG_MODEL.CCU_eCompReq_Stat = Enable_Comp_PID; rtY.CCUCAN_HVC_REQ_MSG_MODEL.CCU_LowTempValve_Req = rtb_Cmd_3Way; rtY.CCUCAN_HVC_REQ_MSG_MODEL.CCU_HVC_Req_RC = 0U; rtY.CCUCAN_HVC_REQ_MSG_MODEL.CCU_HVC_Req_CS = 0U; /* Switch: '/Switch1' incorporates: * Constant: '/Constant7' */ if (!Enable_Comp_PID) { Mode_FR = 0U; } /* Saturate: '/Saturation5' incorporates: * Switch: '/Switch1' */ if (Mode_FR <= 100) { /* Outport generated from: '/CCU_Msg3_model' */ rtY.CCU_Msg3_model.CCU_FAN_Req = Mode_FR; } else { /* Outport generated from: '/CCU_Msg3_model' */ rtY.CCU_Msg3_model.CCU_FAN_Req = 100U; } /* End of Saturate: '/Saturation5' */ /* Outport generated from: '/CCU_Msg3_model' incorporates: * BusCreator: '/Bus Creator4' */ rtY.CCU_Msg3_model.CCU_RestMode_Stat = 0U; rtY.CCU_Msg3_model.CCU_IncarTempSum_Val_ro = 0U; rtY.CCU_Msg3_model.CCU_MSG3_RC = 0U; rtY.CCU_Msg3_model.CCU_MSG3_CS = 0U; /* Outport generated from: '/CCU_Stat3_model' incorporates: * BusCreator: '/Bus Creator12' * DataStoreRead: '/Data Store Read75' * DataStoreRead: '/Data Store Read76' * DataStoreRead: '/Data Store Read79' * DataStoreRead: '/Data Store Read83' * DataStoreRead: '/Data Store Read84' * MATLAB Function: '/ccuAromaLogic' */ rtY.CCU_Stat3_model.CCU_AromaCartridgeCapacity_Stat_ro = rtDW.Aroma_CartridgeCapacity; rtY.CCU_Stat3_model.CCU_AromaCartridgeFlavor_Stat = rtDW.Aroma_CartridgeFlavor; /* Outputs for Atomic SubSystem: '/AromaLogic' */ rtY.CCU_Stat3_model.CCU_AromaFaultReason_Stat = rtb_DataTypeConversion3_gz; /* End of Outputs for SubSystem: '/AromaLogic' */ rtY.CCU_Stat3_model.CCU_RLfootBlowDis_Stat = rtDW.CCU_foot_blower_dis_RL; rtY.CCU_Stat3_model.CCU_RRfootBlowDis_Stat = rtDW.CCU_foot_blower_dis_RR; rtY.CCU_Stat3_model.CCU_RestMode2_Stat = rtDW.CCU_Rest; CCU_Errors_Model.CCU_IncarTempErrF_Stat = (uint8_t)(rtb_err || rtb_LogicalOperator6); CCU_Errors_Model.CCU_IncarTempErrR_Stat = (uint8_t)(rtb_LogicalOperator3 || rtb_LogicalOperator8); CCU_Errors_Model.CCU_DuctTempSenErrF_Stat = (uint8_t) (rtb_LogicalOperator3_cz || rtb_LogicalOperator4_fo || rtb_LogicalOperator6_m || rtb_LogicalOperator8_i || rtb_LogicalOperator10 || rtb_LogicalOperator11); CCU_Errors_Model.CCU_DuctTempSenErrR_Stat = (uint8_t)(rtb_Compare_hs || rtb_Compare_ps1 || rtb_Compare_fi || rtb_Compare_i1); CCU_Errors_Model.CCU_EvaTempSenErrF_Stat = rtDW.CCU_EvaTempSenErrF_Stat; CCU_Errors_Model.CCU_EvaTempSenErrR_Stat = rtDW.CCU_EvaTempSenErrR_Stat; CCU_Errors_Model.CCU_DeflectorSwErrF_Stat = rtDW.CCU_DeflectorSwErrF_Stat; CCU_Errors_Model.CCU_DeflectorSwErrR_Stat = rtDW.CCU_DeflectorSwErrR_Stat; CCU_Errors_Model.CCU_PressSenErr_Stat = rtDW.CCU_PressSenErr_Stat; CCU_Errors_Model.CCU_AmbienTemptSenErr_Stat = rtDW.CCU_AmbTempSensErr_Stat; CCU_Errors_Model.CCU_SealingValveErr_Stat = 0U; CCU_Errors_Model.CCU_ETXVerr_Stat = 0U; CCU_Errors_Model.CCU_HVACfanOrTXVerrF_Stat = 0U; CCU_Errors_Model.CCU_HVACfanOrTXVerrR_Stat = 0U; CCU_Errors_Model.CCU_ActuatorErrF_Stat = rtDW.CCU_ActuatorErrF_Stat_private; CCU_Errors_Model.CCU_ActuatorErrR_Stat = rtDW.CCU_ActuatorErrR_Stat_private; CCU_Errors_Model.CCU_UltravioletErr_Stat = 0U; CCU_Errors_Model.CCU_VinRecordErr_Stat = 0U; CCU_Errors_Model.CCU_AirQualSenErr_Stat = rtDW.CCU_AirQualSenErr_Stat; CCU_Errors_Model.CCU_CommErr_Stat = 0U; CCU_Errors_Model.CCU_TWVerr_Stat = 0U; CCU_Errors_Model.CCU_IonizationErr_Stat = rtDW.CCU_IonizationErr_Stat; CCU_Errors_Model.CCU_AromaErr_Stat = rtDW.CCU_AromaErr_Stat; /* Outport generated from: '/CCU_Msg1_model' incorporates: * BusCreator: '/Bus Creator2' * BusCreator: '/Bus Creator5' * DataStoreRead: '/Data Store Read38' * DataStoreRead: '/Data Store Read43' * DataStoreRead: '/Data Store Read49' * DataStoreRead: '/Data Store Read50' * DataStoreRead: '/Data Store Read51' * DataStoreRead: '/Data Store Read57' * DataStoreRead: '/Data Store Read58' * DataStoreRead: '/Data Store Read59' * DataStoreRead: '/Data Store Read60' * DataStoreRead: '/Data Store Read61' * DataStoreRead: '/Data Store Read65' * DataStoreRead: '/Data Store Read66' * DataStoreRead: '/Data Store Read81' * DataStoreWrite: '/Data Store Write31' * DataTypeConversion: '/Data Type Conversion' * DataTypeConversion: '/Data Type Conversion' * DataTypeConversion: '/Data Type Conversion' * DataTypeConversion: '/Data Type Conversion1' * Logic: '/Logical Operator13' * Logic: '/Logical Operator4' * Logic: '/Logical Operator4' * Logic: '/Logical Operator9' */ rtY.CCU_Msg1_model.CCU_MirrorHeating_Req = 0U; rtY.CCU_Msg1_model.CCU_RecirculationLed_Cmd = rtDW.Full_Rec; rtY.CCU_Msg1_model.CCU_DefrostLed_Req = rtDW.CCU_Defrost; rtY.CCU_Msg1_model.CCU_SideWindowHeating_Req = 0U; rtY.CCU_Msg1_model.CCU_RearWindowHeating_Req = 0U; /* Switch: '/Switch' incorporates: * DataStoreRead: '/Data Store Read80' */ if (rtDW.FrontWindowHeating_req) { /* Outport generated from: '/CCU_Msg1_model' incorporates: * Constant: '/Constant' */ rtY.CCU_Msg1_model.CCU_FrontWindowHeating_Req = 1U; } else { /* Outport generated from: '/CCU_Msg1_model' incorporates: * Constant: '/Constant1' */ rtY.CCU_Msg1_model.CCU_FrontWindowHeating_Req = 2U; } /* End of Switch: '/Switch' */ /* Outport generated from: '/CCU_Msg1_model' incorporates: * BusCreator: '/Bus Creator5' * DataStoreRead: '/Data Store Read39' * DataStoreRead: '/Data Store Read40' * DataStoreRead: '/Data Store Read41' * DataStoreRead: '/Data Store Read42' * DataStoreRead: '/Data Store Read44' */ rtY.CCU_Msg1_model.CCU_EmergAirCleaning_Stat = 0U; rtY.CCU_Msg1_model.CCU_FireExtinguishSys_Stat = 0U; rtY.CCU_Msg1_model.CCU_FLAutoPsngrLed_Cmd = rtDW.CCU_MODE_FL; rtY.CCU_Msg1_model.CCU_FRAutoPsngrLed_Cmd = rtDW.CCU_MODE_FR; rtY.CCU_Msg1_model.CCU_RLAutoPsngrLed_Cmd = rtDW.CCU_MODE_RL; rtY.CCU_Msg1_model.CCU_RRAutoPsngrLed_Cmd = rtDW.CCU_MODE_RR; rtY.CCU_Msg1_model.CCU_AC_MaxLed_Cmd = rtDW.CCU_AC_MAX; rtY.CCU_Msg1_model.CCU_MSG1_RC = 0U; rtY.CCU_Msg1_model.CCU_MSG1_CS = 0U; } else { /* Outport generated from: '/CCU_Stat1_model' incorporates: * BusCreator: '/Bus Creator6' * Constant: '/Constant' */ rtY.CCU_Stat1_model.CCU_ModeFL_Stat = 0U; rtY.CCU_Stat1_model.CCU_ModeFR_Stat = 0U; rtY.CCU_Stat1_model.CCU_ModeRL_Stat = 0U; rtY.CCU_Stat1_model.CCU_ModeRR_Stat = 0U; rtY.CCU_Stat1_model.CCU_AutoModeFL_Stat = 0U; rtY.CCU_Stat1_model.CCU_AutoModeFR_Stat = 0U; rtY.CCU_Stat1_model.CCU_AirDirectionRL_Face_Stat = 0U; rtY.CCU_Stat1_model.CCU_AirDirectionRL_Foot_Stat = 0U; rtY.CCU_Stat1_model.CCU_AutoModeRL_Stat = 0U; rtY.CCU_Stat1_model.CCU_AutoModeRR_Stat = 0U; rtY.CCU_Stat1_model.CCU_AirDirectionRR_Face_Stat = 0U; rtY.CCU_Stat1_model.CCU_AirDirectionRR_Foot_Stat = 0U; rtY.CCU_Stat1_model.CCU_AirDirectionFL_Def_Stat = 0U; rtY.CCU_Stat1_model.CCU_AirDirectionFL_Face_Stat = 0U; rtY.CCU_Stat1_model.CCU_AirDirectionFL_Foot_Stat = 0U; rtY.CCU_Stat1_model.CCU_AirDirectionFR_Def_Stat = 0U; rtY.CCU_Stat1_model.CCU_AirDirectionFR_Face_Stat = 0U; rtY.CCU_Stat1_model.CCU_AirDirectionFR_Foot_Stat = 0U; rtY.CCU_Stat1_model.CCU_Recirculation_Stat = 0U; rtY.CCU_Stat1_model.CCU_BlowerSpeedFL_Stat = 0U; rtY.CCU_Stat1_model.CCU_TargetTempFL_Stat_ro = 0U; rtY.CCU_Stat1_model.CCU_BlowerSpeedFR_Stat = 0U; rtY.CCU_Stat1_model.CCU_TargetTempFR_Stat_ro = 0U; rtY.CCU_Stat1_model.CCU_BlowerSpeedRL_Stat = 0U; rtY.CCU_Stat1_model.CCU_TargetTempRR_Stat_ro = 0U; rtY.CCU_Stat1_model.CCU_BlowerSpeedRR_Stat = 0U; rtY.CCU_Stat1_model.CCU_TargetTempRL_Stat_ro = 0U; /* Outport generated from: '/CCU_Stat2_model' incorporates: * BusCreator: '/Bus Creator7' * Constant: '/Constant1' */ rtY.CCU_Stat2_model.CCU_AromaCartridgeSw_Stat = 0U; rtY.CCU_Stat2_model.CCU_FrontZoneSync_Stat = 0U; rtY.CCU_Stat2_model.CCU_RearZoneSync_Stat = 0U; rtY.CCU_Stat2_model.CCU_AllZoneSync_Stat = 0U; rtY.CCU_Stat2_model.CCU_ACfront_Stat = 0U; rtY.CCU_Stat2_model.CCU_ACrear_Stat = 0U; rtY.CCU_Stat2_model.CCU_ACmaxF_Stat = 0U; rtY.CCU_Stat2_model.CCU_ACmaxR_Stat = 0U; rtY.CCU_Stat2_model.CCU_Defrost_Stat = 0U; rtY.CCU_Stat2_model.CCU_Ionization_Stat = 0U; rtY.CCU_Stat2_model.CCU_FootTempCorFL_Stat = 0U; rtY.CCU_Stat2_model.CCU_FootTempCorFR_Stat = 0U; rtY.CCU_Stat2_model.CCU_AromaIntens_Stat = 0U; rtY.CCU_Stat2_model.CCU_FootTempCorRL_Stat = 0U; rtY.CCU_Stat2_model.CCU_FootTempCorRR_Stat = 0U; rtY.CCU_Stat2_model.CCU_DeflectorSwDL_Stat = 0U; rtY.CCU_Stat2_model.CCU_DeflectorSwDR_Stat = 0U; rtY.CCU_Stat2_model.CCU_DeflectorSwFPL_Stat = 0U; rtY.CCU_Stat2_model.CCU_DeflectorSwFPR_Stat = 0U; rtY.CCU_Stat2_model.CCU_DeflectorSwFCL_Stat = 0U; rtY.CCU_Stat2_model.CCU_DeflectorSwFCR_Stat = 0U; rtY.CCU_Stat2_model.CCU_DeflectorSwRLB_Stat = 0U; rtY.CCU_Stat2_model.CCU_DeflectorSwRRB_Stat = 0U; /* Outport generated from: '/CCUCAN_HVC_REQ_MSG_MODEL' incorporates: * BusCreator: '/Bus Creator10' * Constant: '/Constant4' */ rtY.CCUCAN_HVC_REQ_MSG_MODEL.CCU_eCompSpeedReq_Val_ro = 0U; rtY.CCUCAN_HVC_REQ_MSG_MODEL.CCU_eCompReq_Stat = 0U; rtY.CCUCAN_HVC_REQ_MSG_MODEL.CCU_LowTempValve_Req = 0U; rtY.CCUCAN_HVC_REQ_MSG_MODEL.CCU_HVC_Req_RC = 0U; rtY.CCUCAN_HVC_REQ_MSG_MODEL.CCU_HVC_Req_CS = 0U; /* Outport generated from: '/CCU_Msg3_model' incorporates: * BusCreator: '/Bus Creator11' * Constant: '/Constant5' */ rtY.CCU_Msg3_model.CCU_FAN_Req = 0U; rtY.CCU_Msg3_model.CCU_RestMode_Stat = 0U; rtY.CCU_Msg3_model.CCU_IncarTempSum_Val_ro = 0U; rtY.CCU_Msg3_model.CCU_MSG3_RC = 0U; rtY.CCU_Msg3_model.CCU_MSG3_CS = 0U; /* Outport generated from: '/CCU_Stat3_model' incorporates: * BusCreator: '/Bus Creator13' * Constant: '/Constant6' */ rtY.CCU_Stat3_model.CCU_AromaCartridgeCapacity_Stat_ro = 0U; rtY.CCU_Stat3_model.CCU_AromaCartridgeFlavor_Stat = 0U; rtY.CCU_Stat3_model.CCU_AromaFaultReason_Stat = 0U; rtY.CCU_Stat3_model.CCU_RLfootBlowDis_Stat = 0U; rtY.CCU_Stat3_model.CCU_RRfootBlowDis_Stat = 0U; rtY.CCU_Stat3_model.CCU_RestMode2_Stat = 0U; CCU_Errors_Model.CCU_IncarTempErrF_Stat = 0U; CCU_Errors_Model.CCU_IncarTempErrR_Stat = 0U; CCU_Errors_Model.CCU_DuctTempSenErrF_Stat = 0U; CCU_Errors_Model.CCU_DuctTempSenErrR_Stat = 0U; CCU_Errors_Model.CCU_EvaTempSenErrF_Stat = 0U; CCU_Errors_Model.CCU_EvaTempSenErrR_Stat = 0U; CCU_Errors_Model.CCU_DeflectorSwErrF_Stat = 0U; CCU_Errors_Model.CCU_DeflectorSwErrR_Stat = 0U; CCU_Errors_Model.CCU_PressSenErr_Stat = 0U; CCU_Errors_Model.CCU_AmbienTemptSenErr_Stat = 0U; CCU_Errors_Model.CCU_SealingValveErr_Stat = 0U; CCU_Errors_Model.CCU_ETXVerr_Stat = 0U; CCU_Errors_Model.CCU_HVACfanOrTXVerrF_Stat = 0U; CCU_Errors_Model.CCU_HVACfanOrTXVerrR_Stat = 0U; CCU_Errors_Model.CCU_ActuatorErrF_Stat = 0U; CCU_Errors_Model.CCU_ActuatorErrR_Stat = 0U; CCU_Errors_Model.CCU_UltravioletErr_Stat = 0U; CCU_Errors_Model.CCU_VinRecordErr_Stat = 0U; CCU_Errors_Model.CCU_AirQualSenErr_Stat = 0U; CCU_Errors_Model.CCU_CommErr_Stat = 0U; CCU_Errors_Model.CCU_TWVerr_Stat = 0U; CCU_Errors_Model.CCU_IonizationErr_Stat = 0U; CCU_Errors_Model.CCU_AromaErr_Stat = 0U; /* Outport generated from: '/CCU_Msg1_model' incorporates: * BusCreator: '/Bus Creator8' * BusCreator: '/Bus Creator9' * Constant: '/Constant2' * Constant: '/Constant3' * DataStoreWrite: '/Data Store Write31' */ rtY.CCU_Msg1_model.CCU_MirrorHeating_Req = 0U; rtY.CCU_Msg1_model.CCU_RecirculationLed_Cmd = 0U; rtY.CCU_Msg1_model.CCU_DefrostLed_Req = 0U; rtY.CCU_Msg1_model.CCU_SideWindowHeating_Req = 0U; rtY.CCU_Msg1_model.CCU_RearWindowHeating_Req = 0U; rtY.CCU_Msg1_model.CCU_FrontWindowHeating_Req = 0U; rtY.CCU_Msg1_model.CCU_EmergAirCleaning_Stat = 0U; rtY.CCU_Msg1_model.CCU_FireExtinguishSys_Stat = 0U; rtY.CCU_Msg1_model.CCU_FLAutoPsngrLed_Cmd = 0U; rtY.CCU_Msg1_model.CCU_FRAutoPsngrLed_Cmd = 0U; rtY.CCU_Msg1_model.CCU_RLAutoPsngrLed_Cmd = 0U; rtY.CCU_Msg1_model.CCU_RRAutoPsngrLed_Cmd = 0U; rtY.CCU_Msg1_model.CCU_AC_MaxLed_Cmd = 0U; rtY.CCU_Msg1_model.CCU_MSG1_RC = 0U; rtY.CCU_Msg1_model.CCU_MSG1_CS = 0U; } /* End of Switch: '/Switch2' */ /* Lookup_n-D: '/demist LVL (dew_point_diff)' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read2' * DataStoreWrite: '/Data Store Write' */ rtDW.Dew_point = look2_binlx(index_start, rtb_Divide5, rtConstP.demistLVLdew_point_diff_bp01Data, rtConstP.demistLVLdew_point_diff_bp02Data, rtConstP.demistLVLdew_point_diff_tableData, rtConstP.demistLVLdew_point_diff_maxIndex, 121U); /* DataStoreWrite: '/Data Store Write' incorporates: * DataStoreRead: '/Data Store Read' */ rtDW.FrontWindowHeating_req = rtDW.electric_demist_started; /* Switch: '/Switch2' incorporates: * Constant: '/Constant' * Constant: '/const2' * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read1' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator5' */ if (rtDW.electric_demist_started) { rtb_Gain2 = 1; } else { rtb_Gain2 = (rtDW.AMB <= g_ssAUTODEMIST_ELEC_AMB_ENTRY); } /* Switch: '/Switch' incorporates: * Constant: '/Constant1' * Constant: '/Constant3' * DataStoreRead: '/Data Store Read2' * RelationalOperator: '/Relational Operator4' * RelationalOperator: '/Relational Operator7' */ if (index_start <= g_assAUTODEMIST_ELEC_WINDSHELD_TEMP[1]) { /* Switch: '/Switch1' incorporates: * Constant: '/const1' * DataStoreRead: '/Data Store Read1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator5' */ if (rtDW.electric_demist_started) { index_start_0 = 1; } else { index_start_0 = (index_start <= g_assAUTODEMIST_ELEC_WINDSHELD_TEMP[0]); } /* End of Switch: '/Switch1' */ } else { index_start_0 = 0; } /* Logic: '/AND' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read4' * DataStoreWrite: '/Data Store Write' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator3' * RelationalOperator: '/Relational Operator6' * Switch: '/Switch' * Switch: '/Switch2' */ rtDW.electric_demist_started = ((rtDW.FrontWindowHeating_manual_on != 1) && (rtb_Gain2 != 0) && (rtDW.CCU_MODE_FL == 1) && (index_start_0 != 0) && (rtDW.step_start_controle_front == 3)); /* RelationalOperator: '/Equal' incorporates: * Constant: '/vent_rear' * DataStoreRead: '/mode_index_RL' */ rtb_LogicalOperator8 = (rtDW.ModeIndex[2] == 120); /* RelationalOperator: '/Equal1' incorporates: * Constant: '/vent_rear1' * DataStoreRead: '/mode_index_RR' */ rtb_err = (rtDW.ModeIndex[3] == 120); /* Outputs for Atomic SubSystem: '/FOOT2_CONTROL' */ /* Lookup_n-D: '/DuctTgt_Plus_LV3' incorporates: * DataStoreRead: '/Data Store Read1' */ rtb_Switch2_nb = look1_is16lu64n32Ds32_binlcs(rtDW.AMB, &g_assFoot2_Lv3_Amb[0], &g_assFoot2_Lv3_DuctTgt_Plus[0], 5U); /* Lookup_n-D: '/DuctTgt_Plus_LV4' incorporates: * DataStoreRead: '/Data Store Read1' */ rtb_FL_AUTODEMIST_OFFSET_VENT_TEMPpercentage = look1_is16lu64n32Ds32_binlcs (rtDW.AMB, &g_assFoot2_Lv4_Amb[0], &g_assFoot2_Lv4_DuctTgt_Plus[0], 5U); /* Lookup_n-D: '/DuctTgt_Plus_LV5' incorporates: * DataStoreRead: '/Data Store Read1' */ rtb_DuctTgt_Plus_LV5 = look1_is16lu64n32Ds32_binlcs(rtDW.AMB, &g_assFoot2_Lv5_Amb[0], &g_assFoot2_Lv5_DuctTgt_Plus[0], 5U); /* MATLAB Function: '/Foot2DuctControl_Limo_RL' */ /* : Foot2Duct_FL = int16(0); */ rtb_Foot2Duct_FL_n = 0; /* : is_active = false; */ rtb_LogicalOperator6 = false; /* MATLAB Function: '/Foot2DuctControl_Limo_RR' */ /* : if CAL_VARIANT ~= 3 */ /* : Foot2Duct_FR = int16(0); */ rtb_Foot2Duct_FR_j = 0; /* : is_active = false; */ Enable_Comp_PID = false; /* MATLAB Function: '/Foot2DuctControl_Limo_RL' incorporates: * Constant: '/auto5' * DataStoreRead: '/Data Store Read10' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read28' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read4' * DataStoreRead: '/Data Store Read5' * DataStoreRead: '/Data Store Read9' * MATLAB Function: '/Foot2DuctControl_Limo_RR' */ /* : if CAL_VARIANT ~= 3 */ if (g_ucCAL_VARIANT == 3) { /* : if (RL_Mode == 0 || RL_Mode == 2) && (RL_Direction_Vent == 1) */ if (((rtDW.CCU_MODE_RL == 0) || (rtDW.CCU_MODE_RL == 2)) && rtb_LogicalOperator8) { /* : Foot2Duct_FL = int16(0); */ /* : is_active = true; */ rtb_LogicalOperator6 = true; /* : if FIU_RL_footBlowDis_Req == 1 */ } else if (rtDW.CCU_foot_blower_dis_RL == 1) { /* : Foot2Duct_FL = int16(0); */ /* : is_active = true; */ rtb_LogicalOperator6 = true; } else { /* : switch ambLV */ switch (rtDW.LEVEL) { case 0U: case 1U: /* : case {0, 1} */ /* : Foot2Duct_FL = int16(100); */ rtb_Foot2Duct_FL_n = 100; /* : is_active = true; */ rtb_LogicalOperator6 = true; break; case 2U: /* : case 2 */ /* : if RL_Rset < 210 */ if (rtDW.CCU_SET_RL < 210) { /* : Foot2Duct_FL = int16(50); */ rtb_Foot2Duct_FL_n = 50; /* : is_active = true; */ rtb_LogicalOperator6 = true; } else { /* : else */ /* : Foot2Duct_FL = int16(100); */ rtb_Foot2Duct_FL_n = 100; /* : is_active = true; */ rtb_LogicalOperator6 = true; } break; case 3U: /* : case 3 */ /* : if RL_Rset < 210 */ if (rtDW.CCU_SET_RL < 210) { /* : Foot2Duct_FL = int16(50); */ rtb_Foot2Duct_FL_n = 50; /* : is_active = true; */ rtb_LogicalOperator6 = true; } else { /* : else */ /* : Foot2Duct_FL = int16(100); */ rtb_Foot2Duct_FL_n = 100; /* : is_active = true; */ rtb_LogicalOperator6 = true; } break; case 4U: case 5U: /* : case {4, 5} */ /* : if RL_Rset < 210 */ if (rtDW.CCU_SET_RL < 210) { /* : Foot2Duct_FL = int16(50); */ rtb_Foot2Duct_FL_n = 50; /* : is_active = true; */ rtb_LogicalOperator6 = true; } else { /* : else */ /* : Foot2Duct_FL = int16(100); */ rtb_Foot2Duct_FL_n = 100; /* : is_active = true; */ rtb_LogicalOperator6 = true; } break; default: /* : otherwise */ /* : Foot2Duct_FL = int16(0); */ /* : is_active = true; */ rtb_LogicalOperator6 = true; break; } } /* : if (RR_Mode == 0 || RR_Mode == 2) && (RR_Direction_Vent == 1) */ if (((rtDW.CCU_MODE_RR == 0) || (rtDW.CCU_MODE_RR == 2)) && rtb_err) { /* : Foot2Duct_FR = int16(0); */ /* : is_active = true; */ Enable_Comp_PID = true; /* : if FIU_RR_footBlowDis_Req == 1 */ } else if (rtDW.CCU_foot_blower_dis_RR == 1) { /* : Foot2Duct_FR = int16(0); */ /* : is_active = true; */ Enable_Comp_PID = true; } else { /* : switch ambLV */ switch (rtDW.LEVEL) { case 0U: case 1U: /* : case {0, 1} */ /* : Foot2Duct_FR = int16(100); */ rtb_Foot2Duct_FR_j = 100; /* : is_active = true; */ Enable_Comp_PID = true; break; case 2U: /* : case 2 */ /* : if RR_Rset < 210 */ if (rtDW.Duct_RR_Tg < 210) { /* : Foot2Duct_FR = int16(50); */ rtb_Foot2Duct_FR_j = 50; /* : is_active = true; */ Enable_Comp_PID = true; } else { /* : else */ /* : Foot2Duct_FR = int16(100); */ rtb_Foot2Duct_FR_j = 100; /* : is_active = true; */ Enable_Comp_PID = true; } break; case 3U: /* : case 3 */ /* : if RR_Rset < 210 */ if (rtDW.Duct_RR_Tg < 210) { /* : Foot2Duct_FR = int16(50); */ rtb_Foot2Duct_FR_j = 50; /* : is_active = true; */ Enable_Comp_PID = true; } else { /* : else */ /* : Foot2Duct_FR = int16(100); */ rtb_Foot2Duct_FR_j = 100; /* : is_active = true; */ Enable_Comp_PID = true; } break; case 4U: case 5U: /* : case {4, 5} */ /* : if RR_Rset < 210 */ if (rtDW.Duct_RR_Tg < 210) { /* : Foot2Duct_FR = int16(50); */ rtb_Foot2Duct_FR_j = 50; /* : is_active = true; */ Enable_Comp_PID = true; } else { /* : else */ /* : Foot2Duct_FR = int16(100); */ rtb_Foot2Duct_FR_j = 100; /* : is_active = true; */ Enable_Comp_PID = true; } break; default: /* : otherwise */ /* : Foot2Duct_FR = int16(0); */ /* : is_active = true; */ Enable_Comp_PID = true; break; } } } /* Lookup_n-D: '/FrontBlr_LV0' incorporates: * DataStoreRead: '/Data Store Read' * Gain: '/Gain' * Lookup_n-D: '/FrontBlr_LV1' */ rtb_FrontBlr_LV0_tmp = look1_iu16lu64n48Ds32Is16_binlcs((uint16_t)(10U * rtDW.PWM_front), &g_ausFoot2_Lv1_Foot2Act_Y[0], &g_ausFoot2_Lv1_FrontBlr_X[0], 2U); /* MATLAB Function: '/Foot2DuctControl_RL' incorporates: * Constant: '/auto1' * Constant: '/auto2' * Constant: '/auto3' * Constant: '/auto4' * Constant: '/auto5' * DataStoreRead: '/Data Store Read11' * DataStoreRead: '/Data Store Read12' * DataStoreRead: '/Data Store Read28' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read36' * DataStoreRead: '/Data Store Read42' * DataStoreRead: '/Data Store Read5' * DataStoreRead: '/Data Store Read8' * DataStoreRead: '/Data Store Read9' * Lookup_n-D: '/FrontBlr_LV0' */ /* : if isempty(hystLV2_FL) */ /* : if isempty(hystLV3_FL) */ /* : Foot2Duct_FL = int16(0); */ rtb_Foot2Duct_FL = 0; /* : is_active = false; */ rtb_LogicalOperator3 = false; /* : if CAL_VARIANT == 3 */ if (g_ucCAL_VARIANT != 3) { /* : if (RL_Mode == 0 || RL_Mode == 2) && (RL_Direction_Vent == 1) */ if (((rtDW.CCU_MODE_RL == 0) || (rtDW.CCU_MODE_RL == 2)) && rtb_LogicalOperator8) { /* : Foot2Duct_FL = int16(0); */ /* : is_active = true; */ rtb_LogicalOperator3 = true; /* : hystLV2_FL = false; */ rtDW.hystLV2_FL = false; /* : hystLV3_FL = false; */ rtDW.hystLV3_FL = false; /* : if FIU_RL_footBlowDis_Req == 1 */ } else if (rtDW.CCU_foot_blower_dis_RL == 1) { /* : Foot2Duct_FL = int16(0); */ /* : is_active = true; */ rtb_LogicalOperator3 = true; /* : hystLV2_FL = false; */ rtDW.hystLV2_FL = false; /* : hystLV3_FL = false; */ rtDW.hystLV3_FL = false; } else { /* : switch ambLV */ switch (rtDW.LEVEL) { case 0U: /* : case 0 */ /* : hystLV2_FL = false; */ rtDW.hystLV2_FL = false; /* : hystLV3_FL = false; */ rtDW.hystLV3_FL = false; /* : if RL_Rset >= 250 */ if (rtDW.CCU_SET_RL >= 250) { /* : Foot2Duct_FL = int16(0); */ /* : is_active = true; */ rtb_LogicalOperator3 = true; } else { rtb_Gain2 = rtb_MultiportSwitch_ac - 120; if (rtb_MultiportSwitch_ac - 120 < -32768) { rtb_Gain2 = -32768; } index_start_0 = rtb_MultiportSwitch_ac + 80; if (rtb_MultiportSwitch_ac + 80 > 32767) { index_start_0 = 32767; } if ((rtb_Gain2 <= rtb_Merge_b) && (rtb_Merge_b <= index_start_0)) { /* : elseif (FL_DuctFb - 120 <= RL_Dtg) && (RL_Dtg <= FL_DuctFb + 80) */ /* : Foot2Duct_FL = int16(FrontBlr_LV0); */ rtb_Foot2Duct_FL = rtb_FrontBlr_LV0_tmp; /* : is_active = true; */ rtb_LogicalOperator3 = true; } } break; case 1U: /* : case 1 */ /* : hystLV2_FL = false; */ rtDW.hystLV2_FL = false; /* : hystLV3_FL = false; */ rtDW.hystLV3_FL = false; /* : if RL_Rset >= 250 */ if (rtDW.CCU_SET_RL >= 250) { /* : Foot2Duct_FL = int16(0); */ /* : is_active = true; */ rtb_LogicalOperator3 = true; } else { rtb_Gain2 = rtb_MultiportSwitch_ac - 120; if (rtb_MultiportSwitch_ac - 120 < -32768) { rtb_Gain2 = -32768; } index_start_0 = rtb_MultiportSwitch_ac + 80; if (rtb_MultiportSwitch_ac + 80 > 32767) { index_start_0 = 32767; } if ((rtb_Gain2 <= rtb_Merge_b) && (rtb_Merge_b <= index_start_0)) { /* : elseif (FL_DuctFb - 120 <= RL_Dtg) && (RL_Dtg <= FL_DuctFb + 80) */ /* : Foot2Duct_FL = int16(FrontBlr_LV1); */ rtb_Foot2Duct_FL = rtb_FrontBlr_LV0_tmp; /* : is_active = true; */ rtb_LogicalOperator3 = true; } } break; case 2U: /* : case 2 */ /* : hystLV3_FL = false; */ rtDW.hystLV3_FL = false; /* : diffVal = Sen_Duct_RL_Side_Fb - Sen_Duct_FL_Lower_Tgt; */ /* : if hystLV2_FL */ if (rtDW.hystLV2_FL) { /* : diffActive = diffVal > Threshold_Diff_OFF_LV2; */ rtb_Gain2 = rtb_FLU_tg_correct_ot - rtb_y_ds; if (rtb_Gain2 > 32767) { rtb_Gain2 = 32767; } else if (rtb_Gain2 < -32768) { rtb_Gain2 = -32768; } rtb_LogicalOperator3_cz = (rtb_Gain2 > g_assFoot2_Lv2_Threshold_Diff[1]); } else { /* : else */ /* : diffActive = diffVal > Threshold_Diff_ON_LV2; */ rtb_Gain2 = rtb_FLU_tg_correct_ot - rtb_y_ds; if (rtb_Gain2 > 32767) { rtb_Gain2 = 32767; } else if (rtb_Gain2 < -32768) { rtb_Gain2 = -32768; } rtb_LogicalOperator3_cz = (rtb_Gain2 > g_assFoot2_Lv2_Threshold_Diff[0]); } /* : hystLV2_FL = diffActive; */ rtDW.hystLV2_FL = rtb_LogicalOperator3_cz; /* : if FLL_DuctTg < 300 */ if (rtb_y_ds < 300) { /* : Foot2Duct_FL = int16(0); */ /* : is_active = true; */ rtb_LogicalOperator3 = true; } else { rtb_Gain2 = rtb_Merge_b + 300; if (rtb_Merge_b + 300 > 32767) { rtb_Gain2 = 32767; } if ((rtb_y_ds > rtb_Gain2) || (rtDW.CCU_SET_RL < 190)) { /* : elseif (FLL_DuctTg > RL_Dtg + 300) || (RL_Rset < 190) */ /* : Foot2Duct_FL = int16(0); */ /* : is_active = true; */ rtb_LogicalOperator3 = true; } else if ((rtDW.CCU_SET_RL < 210) && (rtDW.CCU_SET_RL > 190)) { /* : elseif (RL_Rset < 210) && (RL_Rset > 190) */ /* : Foot2Duct_FL = int16(50); */ rtb_Foot2Duct_FL = 50; /* : is_active = true; */ rtb_LogicalOperator3 = true; } else if (rtb_LogicalOperator3_cz) { /* : elseif diffActive */ /* : Foot2Duct_FL = int16(50); */ rtb_Foot2Duct_FL = 50; /* : is_active = true; */ rtb_LogicalOperator3 = true; } else { rtb_Gain2 = rtb_Merge_b + 200; if (rtb_Merge_b + 200 > 32767) { rtb_Gain2 = 32767; } if (rtb_y_ds >= rtb_Gain2) { /* : elseif FLL_DuctTg >= RL_Dtg + 200 */ /* : Foot2Duct_FL = int16(50); */ rtb_Foot2Duct_FL = 50; /* : is_active = true; */ rtb_LogicalOperator3 = true; } else { rtb_Gain2 = rtb_Merge_b + 200; if (rtb_Merge_b + 200 > 32767) { rtb_Gain2 = 32767; } if (rtb_y_ds < rtb_Gain2) { /* : elseif FLL_DuctTg < RL_Dtg + 200 */ /* : Foot2Duct_FL = int16(100); */ rtb_Foot2Duct_FL = 100; /* : is_active = true; */ rtb_LogicalOperator3 = true; } } } } break; case 3U: /* : case 3 */ /* : hystLV2_FL = false; */ rtDW.hystLV2_FL = false; /* : diffVal = Sen_Duct_RL_Side_Fb - Sen_Duct_FL_Lower_Tgt; */ /* : if hystLV3_FL */ if (rtDW.hystLV3_FL) { /* : diffActive = diffVal > Threshold_Diff_OFF_LV3; */ rtb_Gain2 = rtb_FLU_tg_correct_ot - rtb_y_ds; if (rtb_Gain2 > 32767) { rtb_Gain2 = 32767; } else if (rtb_Gain2 < -32768) { rtb_Gain2 = -32768; } rtb_LogicalOperator3_cz = (rtb_Gain2 > g_assFoot2_Lv3_Threshold_Diff[1]); } else { /* : else */ /* : diffActive = diffVal > Threshold_Diff_ON_LV3; */ rtb_Gain2 = rtb_FLU_tg_correct_ot - rtb_y_ds; if (rtb_Gain2 > 32767) { rtb_Gain2 = 32767; } else if (rtb_Gain2 < -32768) { rtb_Gain2 = -32768; } rtb_LogicalOperator3_cz = (rtb_Gain2 > g_assFoot2_Lv3_Threshold_Diff[0]); } /* : hystLV3_FL = diffActive; */ rtDW.hystLV3_FL = rtb_LogicalOperator3_cz; /* : if FLL_DuctTg < 400 */ if (rtb_y_ds < 400) { /* : Foot2Duct_FL = int16(0); */ /* : is_active = true; */ rtb_LogicalOperator3 = true; } else if (rtDW.CCU_SET_RL < 200) { /* : elseif RL_Rset < 200 */ /* : Foot2Duct_FL = int16(50); */ rtb_Foot2Duct_FL = 50; /* : is_active = true; */ rtb_LogicalOperator3 = true; } else if (rtb_LogicalOperator3_cz) { /* : elseif diffActive */ /* : Foot2Duct_FL = int16(50); */ rtb_Foot2Duct_FL = 50; /* : is_active = true; */ rtb_LogicalOperator3 = true; } else { rtb_Gain2 = rtb_Merge_b + rtb_Switch2_nb; index_start_0 = rtb_Gain2; if (rtb_Gain2 > 32767) { index_start_0 = 32767; } else if (rtb_Gain2 < -32768) { index_start_0 = -32768; } if (rtb_y_ds >= index_start_0) { /* : elseif FLL_DuctTg >= RL_Dtg + Dtgplus_LV3 */ /* : Foot2Duct_FL = int16(50); */ rtb_Foot2Duct_FL = 50; /* : is_active = true; */ rtb_LogicalOperator3 = true; } else { if (rtb_Gain2 > 32767) { rtb_Gain2 = 32767; } else if (rtb_Gain2 < -32768) { rtb_Gain2 = -32768; } if (rtb_y_ds < rtb_Gain2) { /* : elseif FLL_DuctTg < RL_Dtg + Dtgplus_LV3 */ /* : Foot2Duct_FL = int16(100); */ rtb_Foot2Duct_FL = 100; /* : is_active = true; */ rtb_LogicalOperator3 = true; } } } break; case 4U: /* : case 4 */ /* : hystLV2_FL = false; */ rtDW.hystLV2_FL = false; /* : hystLV3_FL = false; */ rtDW.hystLV3_FL = false; /* : if FLL_DuctTg < 400 */ if (rtb_y_ds < 400) { /* : Foot2Duct_FL = int16(0); */ /* : is_active = true; */ rtb_LogicalOperator3 = true; } else if (rtDW.CCU_SET_RL < 215) { /* : elseif RL_Rset < 215 */ /* : Foot2Duct_FL = int16(50); */ rtb_Foot2Duct_FL = 50; /* : is_active = true; */ rtb_LogicalOperator3 = true; } else { rtb_Gain2 = rtb_Merge_b + rtb_FL_AUTODEMIST_OFFSET_VENT_TEMPpercentage; index_start_0 = rtb_Gain2; if (rtb_Gain2 > 32767) { index_start_0 = 32767; } else if (rtb_Gain2 < -32768) { index_start_0 = -32768; } if (rtb_y_ds > index_start_0) { /* : elseif FLL_DuctTg > RL_Dtg + Dtgplus_LV4 */ /* : Foot2Duct_FL = int16(50); */ rtb_Foot2Duct_FL = 50; /* : is_active = true; */ rtb_LogicalOperator3 = true; } else { if (rtb_Gain2 > 32767) { rtb_Gain2 = 32767; } else if (rtb_Gain2 < -32768) { rtb_Gain2 = -32768; } if (rtb_y_ds < rtb_Gain2) { /* : elseif FLL_DuctTg < RL_Dtg + Dtgplus_LV4 */ /* : Foot2Duct_FL = int16(100); */ rtb_Foot2Duct_FL = 100; /* : is_active = true; */ rtb_LogicalOperator3 = true; } } } break; case 5U: /* : case 5 */ /* : hystLV2_FL = false; */ rtDW.hystLV2_FL = false; /* : hystLV3_FL = false; */ rtDW.hystLV3_FL = false; /* : if FLL_DuctTg < 400 */ if (rtb_y_ds < 400) { /* : Foot2Duct_FL = int16(0); */ /* : is_active = true; */ rtb_LogicalOperator3 = true; } else if (rtDW.CCU_SET_RL < 215) { /* : elseif RL_Rset < 215 */ /* : Foot2Duct_FL = int16(50); */ rtb_Foot2Duct_FL = 50; /* : is_active = true; */ rtb_LogicalOperator3 = true; } else { rtb_Gain2 = rtb_Merge_b + rtb_DuctTgt_Plus_LV5; index_start_0 = rtb_Gain2; if (rtb_Gain2 > 32767) { index_start_0 = 32767; } else if (rtb_Gain2 < -32768) { index_start_0 = -32768; } if (rtb_y_ds > index_start_0) { /* : elseif FLL_DuctTg > RL_Dtg + Dtgplus_LV5 */ /* : Foot2Duct_FL = int16(50); */ rtb_Foot2Duct_FL = 50; /* : is_active = true; */ rtb_LogicalOperator3 = true; } else { if (rtb_Gain2 > 32767) { rtb_Gain2 = 32767; } else if (rtb_Gain2 < -32768) { rtb_Gain2 = -32768; } if (rtb_y_ds < rtb_Gain2) { /* : elseif FLL_DuctTg < RL_Dtg + Dtgplus_LV5 */ /* : Foot2Duct_FL = int16(100); */ rtb_Foot2Duct_FL = 100; /* : is_active = true; */ rtb_LogicalOperator3 = true; } } } break; default: /* : otherwise */ /* : hystLV2_FL = false; */ rtDW.hystLV2_FL = false; /* : hystLV3_FL = false; */ rtDW.hystLV3_FL = false; /* : Foot2Duct_FL = int16(0); */ /* : is_active = false; */ break; } } } /* End of MATLAB Function: '/Foot2DuctControl_RL' */ /* MATLAB Function: '/Foot2DuctControl_RR' incorporates: * Constant: '/auto1' * Constant: '/auto2' * Constant: '/auto3' * Constant: '/auto4' * Constant: '/auto5' * DataStoreRead: '/Data Store Read10' * DataStoreRead: '/Data Store Read13' * DataStoreRead: '/Data Store Read15' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read28' * DataStoreRead: '/Data Store Read4' * DataStoreRead: '/Data Store Read6' * DataStoreRead: '/Data Store Read7' * DataStoreWrite: '/Data Store Write6' * Lookup_n-D: '/FrontBlr_LV0' */ /* : if isempty(hystLV2_FR) */ /* : if isempty(hystLV3_FR) */ /* : Foot2Duct_FR = int16(0); */ rtb_Foot2Duct_FR = 0; /* : is_active = false; */ rtb_LogicalOperator8 = false; /* : if CAL_VARIANT == 3 */ if (g_ucCAL_VARIANT != 3) { /* : if (RR_Mode == 0 || RR_Mode == 2) && (RR_Direction_Vent == 1) */ if (((rtDW.CCU_MODE_RR == 0) || (rtDW.CCU_MODE_RR == 2)) && rtb_err) { /* : Foot2Duct_FR = int16(0); */ /* : is_active = true; */ rtb_LogicalOperator8 = true; /* : hystLV2_FR = false; */ rtDW.hystLV2_FR = false; /* : hystLV3_FR = false; */ rtDW.hystLV3_FR = false; /* : if FIU_RR_footBlowDis_Req == 1 */ } else if (rtDW.CCU_foot_blower_dis_RR == 1) { /* : Foot2Duct_FR = int16(0); */ /* : is_active = true; */ rtb_LogicalOperator8 = true; /* : hystLV2_FR = false; */ rtDW.hystLV2_FR = false; /* : hystLV3_FR = false; */ rtDW.hystLV3_FR = false; } else { /* : switch ambLV */ switch (rtDW.LEVEL) { case 0U: /* : case 0 */ /* : hystLV2_FR = false; */ rtDW.hystLV2_FR = false; /* : hystLV3_FR = false; */ rtDW.hystLV3_FR = false; /* : if RR_Rset >= 250 */ if (rtDW.CCU_SET_RR >= 250) { /* : Foot2Duct_FR = int16(0); */ /* : is_active = true; */ rtb_LogicalOperator8 = true; } else { rtb_Gain2 = rtb_Bias1_h - 120; if (rtb_Bias1_h - 120 < -32768) { rtb_Gain2 = -32768; } index_start_0 = rtb_Bias1_h + 80; if (rtb_Bias1_h + 80 > 32767) { index_start_0 = 32767; } if ((rtb_Gain2 <= rtDW.Duct_RR_Tg) && (rtDW.Duct_RR_Tg <= index_start_0)) { /* : elseif (FR_DuctFb - 120 <= RR_Dtg) && (RR_Dtg <= FR_DuctFb + 80) */ /* : Foot2Duct_FR = int16(FrontBlr_LV0); */ rtb_Foot2Duct_FR = rtb_FrontBlr_LV0_tmp; /* : is_active = true; */ rtb_LogicalOperator8 = true; } } break; case 1U: /* : case 1 */ /* : hystLV2_FR = false; */ rtDW.hystLV2_FR = false; /* : hystLV3_FR = false; */ rtDW.hystLV3_FR = false; /* : if RR_Rset >= 250 */ if (rtDW.CCU_SET_RR >= 250) { /* : Foot2Duct_FR = int16(0); */ /* : is_active = true; */ rtb_LogicalOperator8 = true; } else { rtb_Gain2 = rtb_Bias1_h - 120; if (rtb_Bias1_h - 120 < -32768) { rtb_Gain2 = -32768; } index_start_0 = rtb_Bias1_h + 80; if (rtb_Bias1_h + 80 > 32767) { index_start_0 = 32767; } if ((rtb_Gain2 <= rtDW.Duct_RR_Tg) && (rtDW.Duct_RR_Tg <= index_start_0)) { /* : elseif (FR_DuctFb - 120 <= RR_Dtg) && (RR_Dtg <= FR_DuctFb + 80) */ /* : Foot2Duct_FR = int16(FrontBlr_LV1); */ rtb_Foot2Duct_FR = rtb_FrontBlr_LV0_tmp; /* : is_active = true; */ rtb_LogicalOperator8 = true; } } break; case 2U: /* : case 2 */ /* : hystLV3_FR = false; */ rtDW.hystLV3_FR = false; /* : diffVal = Sen_Duct_RR_Side_Fb - Sen_Duct_FR_Lower_Tgt; */ /* : if hystLV2_FR */ if (rtDW.hystLV2_FR) { /* : diffActive = diffVal > Threshold_Diff_OFF_LV2; */ rtb_Gain2 = rtb_DataTypeConversion_dl - rtb_y_he; if (rtb_Gain2 > 32767) { rtb_Gain2 = 32767; } else if (rtb_Gain2 < -32768) { rtb_Gain2 = -32768; } rtb_LogicalOperator3_cz = (rtb_Gain2 > g_assFoot2_Lv2_Threshold_Diff[1]); } else { /* : else */ /* : diffActive = diffVal > Threshold_Diff_ON_LV2; */ rtb_Gain2 = rtb_DataTypeConversion_dl - rtb_y_he; if (rtb_Gain2 > 32767) { rtb_Gain2 = 32767; } else if (rtb_Gain2 < -32768) { rtb_Gain2 = -32768; } rtb_LogicalOperator3_cz = (rtb_Gain2 > g_assFoot2_Lv2_Threshold_Diff[0]); } /* : hystLV2_FR = diffActive; */ rtDW.hystLV2_FR = rtb_LogicalOperator3_cz; /* : if FLR_DuctTg < 300 */ if (rtb_y_he < 300) { /* : Foot2Duct_FR = int16(0); */ /* : is_active = true; */ rtb_LogicalOperator8 = true; } else { rtb_Gain2 = rtDW.Duct_RR_Tg + 300; if (rtDW.Duct_RR_Tg + 300 > 32767) { rtb_Gain2 = 32767; } if ((rtb_y_he > rtb_Gain2) || (rtDW.CCU_SET_RR < 190)) { /* : elseif (FLR_DuctTg > RR_Dtg + 300) || (RR_Rset < 190) */ /* : Foot2Duct_FR = int16(0); */ /* : is_active = true; */ rtb_LogicalOperator8 = true; } else if ((rtDW.CCU_SET_RR < 210) && (rtDW.CCU_SET_RR > 190)) { /* : elseif (RR_Rset < 210) && (RR_Rset > 190) */ /* : Foot2Duct_FR = int16(50); */ rtb_Foot2Duct_FR = 50; /* : is_active = true; */ rtb_LogicalOperator8 = true; } else if (rtb_LogicalOperator3_cz) { /* : elseif diffActive */ /* : Foot2Duct_FR = int16(50); */ rtb_Foot2Duct_FR = 50; /* : is_active = true; */ rtb_LogicalOperator8 = true; } else { rtb_Gain2 = rtDW.Duct_RR_Tg + 200; if (rtDW.Duct_RR_Tg + 200 > 32767) { rtb_Gain2 = 32767; } if (rtb_y_he >= rtb_Gain2) { /* : elseif FLR_DuctTg >= RR_Dtg + 200 */ /* : Foot2Duct_FR = int16(50); */ rtb_Foot2Duct_FR = 50; /* : is_active = true; */ rtb_LogicalOperator8 = true; } else { rtb_Gain2 = rtDW.Duct_RR_Tg + 200; if (rtDW.Duct_RR_Tg + 200 > 32767) { rtb_Gain2 = 32767; } if (rtb_y_he < rtb_Gain2) { /* : elseif FLR_DuctTg < RR_Dtg + 200 */ /* : Foot2Duct_FR = int16(100); */ rtb_Foot2Duct_FR = 100; /* : is_active = true; */ rtb_LogicalOperator8 = true; } } } } break; case 3U: /* : case 3 */ /* : hystLV2_FR = false; */ rtDW.hystLV2_FR = false; /* : diffVal = Sen_Duct_RR_Side_Fb - Sen_Duct_FR_Lower_Tgt; */ /* : if hystLV3_FR */ if (rtDW.hystLV3_FR) { /* : diffActive = diffVal > Threshold_Diff_OFF_LV3; */ rtb_Gain2 = rtb_DataTypeConversion_dl - rtb_y_he; if (rtb_Gain2 > 32767) { rtb_Gain2 = 32767; } else if (rtb_Gain2 < -32768) { rtb_Gain2 = -32768; } rtb_LogicalOperator3_cz = (rtb_Gain2 > g_assFoot2_Lv3_Threshold_Diff[1]); } else { /* : else */ /* : diffActive = diffVal > Threshold_Diff_ON_LV3; */ rtb_Gain2 = rtb_DataTypeConversion_dl - rtb_y_he; if (rtb_Gain2 > 32767) { rtb_Gain2 = 32767; } else if (rtb_Gain2 < -32768) { rtb_Gain2 = -32768; } rtb_LogicalOperator3_cz = (rtb_Gain2 > g_assFoot2_Lv3_Threshold_Diff[0]); } /* : hystLV3_FR = diffActive; */ rtDW.hystLV3_FR = rtb_LogicalOperator3_cz; /* : if FLR_DuctTg < 400 */ if (rtb_y_he < 400) { /* : Foot2Duct_FR = int16(0); */ /* : is_active = true; */ rtb_LogicalOperator8 = true; } else if (rtDW.CCU_SET_RR < 200) { /* : elseif RR_Rset < 200 */ /* : Foot2Duct_FR = int16(50); */ rtb_Foot2Duct_FR = 50; /* : is_active = true; */ rtb_LogicalOperator8 = true; } else if (rtb_LogicalOperator3_cz) { /* : elseif diffActive */ /* : Foot2Duct_FR = int16(50); */ rtb_Foot2Duct_FR = 50; /* : is_active = true; */ rtb_LogicalOperator8 = true; } else { rtb_Gain2 = rtDW.Duct_RR_Tg + rtb_Switch2_nb; index_start_0 = rtb_Gain2; if (rtb_Gain2 > 32767) { index_start_0 = 32767; } else if (rtb_Gain2 < -32768) { index_start_0 = -32768; } if (rtb_y_he >= index_start_0) { /* : elseif FLR_DuctTg >= RR_Dtg + Dtgplus_LV3 */ /* : Foot2Duct_FR = int16(50); */ rtb_Foot2Duct_FR = 50; /* : is_active = true; */ rtb_LogicalOperator8 = true; } else { if (rtb_Gain2 > 32767) { rtb_Gain2 = 32767; } else if (rtb_Gain2 < -32768) { rtb_Gain2 = -32768; } if (rtb_y_he < rtb_Gain2) { /* : elseif FLR_DuctTg < RR_Dtg + Dtgplus_LV3 */ /* : Foot2Duct_FR = int16(100); */ rtb_Foot2Duct_FR = 100; /* : is_active = true; */ rtb_LogicalOperator8 = true; } } } break; case 4U: /* : case 4 */ /* : hystLV2_FR = false; */ rtDW.hystLV2_FR = false; /* : hystLV3_FR = false; */ rtDW.hystLV3_FR = false; /* : if FLR_DuctTg < 400 */ if (rtb_y_he < 400) { /* : Foot2Duct_FR = int16(0); */ /* : is_active = true; */ rtb_LogicalOperator8 = true; } else if (rtDW.CCU_SET_RR < 215) { /* : elseif RR_Rset < 215 */ /* : Foot2Duct_FR = int16(50); */ rtb_Foot2Duct_FR = 50; /* : is_active = true; */ rtb_LogicalOperator8 = true; } else { rtb_Gain2 = rtDW.Duct_RR_Tg + rtb_FL_AUTODEMIST_OFFSET_VENT_TEMPpercentage; index_start_0 = rtb_Gain2; if (rtb_Gain2 > 32767) { index_start_0 = 32767; } else if (rtb_Gain2 < -32768) { index_start_0 = -32768; } if (rtb_y_he > index_start_0) { /* : elseif FLR_DuctTg > RR_Dtg + Dtgplus_LV4 */ /* : Foot2Duct_FR = int16(50); */ rtb_Foot2Duct_FR = 50; /* : is_active = true; */ rtb_LogicalOperator8 = true; } else { if (rtb_Gain2 > 32767) { rtb_Gain2 = 32767; } else if (rtb_Gain2 < -32768) { rtb_Gain2 = -32768; } if (rtb_y_he < rtb_Gain2) { /* : elseif FLR_DuctTg < RR_Dtg + Dtgplus_LV4 */ /* : Foot2Duct_FR = int16(100); */ rtb_Foot2Duct_FR = 100; /* : is_active = true; */ rtb_LogicalOperator8 = true; } } } break; case 5U: /* : case 5 */ /* : hystLV2_FR = false; */ rtDW.hystLV2_FR = false; /* : hystLV3_FR = false; */ rtDW.hystLV3_FR = false; /* : if FLR_DuctTg < 400 */ if (rtb_y_he < 400) { /* : Foot2Duct_FR = int16(0); */ /* : is_active = true; */ rtb_LogicalOperator8 = true; } else if (rtDW.CCU_SET_RR < 215) { /* : elseif RR_Rset < 215 */ /* : Foot2Duct_FR = int16(50); */ rtb_Foot2Duct_FR = 50; /* : is_active = true; */ rtb_LogicalOperator8 = true; } else { rtb_Gain2 = rtDW.Duct_RR_Tg + rtb_DuctTgt_Plus_LV5; index_start_0 = rtb_Gain2; if (rtb_Gain2 > 32767) { index_start_0 = 32767; } else if (rtb_Gain2 < -32768) { index_start_0 = -32768; } if (rtb_y_he > index_start_0) { /* : elseif FLR_DuctTg > RR_Dtg + Dtgplus_LV5 */ /* : Foot2Duct_FR = int16(50); */ rtb_Foot2Duct_FR = 50; /* : is_active = true; */ rtb_LogicalOperator8 = true; } else { if (rtb_Gain2 > 32767) { rtb_Gain2 = 32767; } else if (rtb_Gain2 < -32768) { rtb_Gain2 = -32768; } if (rtb_y_he < rtb_Gain2) { /* : elseif FLR_DuctTg < RR_Dtg + Dtgplus_LV5 */ /* : Foot2Duct_FR = int16(100); */ rtb_Foot2Duct_FR = 100; /* : is_active = true; */ rtb_LogicalOperator8 = true; } } } break; default: /* : otherwise */ /* : hystLV2_FR = false; */ rtDW.hystLV2_FR = false; /* : hystLV3_FR = false; */ rtDW.hystLV3_FR = false; /* : Foot2Duct_FR = int16(0); */ /* : is_active = false; */ break; } } } /* End of MATLAB Function: '/Foot2DuctControl_RR' */ /* Logic: '/OR' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.Foot2_control_FL_is_active = (rtb_LogicalOperator3 || rtb_LogicalOperator6); /* Logic: '/OR1' incorporates: * DataStoreWrite: '/Data Store Write3' */ rtDW.Foot2_control_FR_is_active = (rtb_LogicalOperator8 || Enable_Comp_PID); /* Sum: '/Sum' incorporates: * DataStoreWrite: '/Data Store Write' */ rtDW.Foot2_control_FL = (uint16_t)(rtb_Foot2Duct_FL + rtb_Foot2Duct_FL_n); /* Sum: '/Sum1' incorporates: * DataStoreWrite: '/Data Store Write2' */ rtDW.Foot2_control_FR = (uint16_t)(rtb_Foot2Duct_FR + rtb_Foot2Duct_FR_j); /* End of Outputs for SubSystem: '/FOOT2_CONTROL' */ /* BusCreator: '/Bus Creator2' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read10' * DataStoreRead: '/Data Store Read11' * DataStoreRead: '/Data Store Read12' * DataStoreRead: '/Data Store Read13' * DataStoreRead: '/Data Store Read14' * DataStoreRead: '/Data Store Read16' * DataStoreRead: '/Data Store Read17' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read4' * DataStoreRead: '/Data Store Read5' * DataStoreRead: '/Data Store Read6' * DataStoreRead: '/Data Store Read7' * DataStoreRead: '/Data Store Read8' * DataStoreRead: '/Data Store Read9' * DataStoreWrite: '/Data Store Write6' * DataStoreWrite: '/Data Store Write2' * Sum: '/Add' * Sum: '/Add1' * Sum: '/Add10' * Sum: '/Add11' * Sum: '/Add12' * Sum: '/Add13' * Sum: '/Add14' * Sum: '/Add15' * Sum: '/Add16' * Sum: '/Add17' * Sum: '/Add2' * Sum: '/Add3' * Sum: '/Add4' * Sum: '/Add5' * Sum: '/Add6' * Sum: '/Add7' * Sum: '/Add8' * Sum: '/Add9' */ rtDW.Status_Sensor_model_IO.Ignition = 0U; rtDW.Status_Sensor_model_IO.Battery = 0U; rtDW.Status_Sensor_model_IO.AMB = (uint16_t)(rtDW.AMB + 400); rtDW.Status_Sensor_model_IO.Incar_FL = (uint16_t)(rtDW.Incar_FL + 400); rtDW.Status_Sensor_model_IO.Incar_FR = (uint16_t)(rtDW.Incar_FR + 400); rtDW.Status_Sensor_model_IO.Incar_RL = (uint16_t)(rtDW.Incar_RL + 400); rtDW.Status_Sensor_model_IO.Incar_RR = (uint16_t)(rtDW.Incar_RR + 400); rtDW.Status_Sensor_model_IO.Eva_F = (uint16_t)(rtDW.Eva_F + 400); rtDW.Status_Sensor_model_IO.Eva_R = (uint16_t)(rtDW.Eva_R + 400); rtDW.Status_Sensor_model_IO.Pressure = (uint16_t)(rtDW.Pressure + 400); rtDW.Status_Sensor_model_IO.Duct_FL_Upper = (uint16_t)(rtb_X + 400); rtDW.Status_Sensor_model_IO.Duct_FL_Lower = (uint16_t)(rtb_MultiportSwitch_ac + 400); rtDW.Status_Sensor_model_IO.Duct_FR_Upper = (uint16_t)(rtb_MultiportSwitch_cq + 400); rtDW.Status_Sensor_model_IO.Duct_FR_Lower = (uint16_t)(rtb_Bias1_h + 400); rtDW.Status_Sensor_model_IO.Duct_RL = (uint16_t)(rtb_Switch1_f + 400); rtDW.Status_Sensor_model_IO.Duct_RR = (uint16_t)(rtb_Switch3_no + 400); rtDW.Status_Sensor_model_IO.Duct_Side_FL = (uint16_t)(rtb_FLU_tg_correct_ot + 400); rtDW.Status_Sensor_model_IO.Duct_Side_FR = (uint16_t) (rtb_DataTypeConversion_dl + 400); rtDW.Status_Sensor_model_IO.Duct_Side_RL = (uint16_t)(rtb_Switch4_f5 + 400); rtDW.Status_Sensor_model_IO.Duct_Side_RR = (uint16_t)(rtb_Switch5_l + 400); rtDW.Status_Sensor_model_IO.AQS = 0U; /* BusCreator: '/Bus Creator4' incorporates: * Constant: '/Constant1' * DataStoreRead: '/Data Store Read21' * DataStoreRead: '/Data Store Read22' * DataStoreRead: '/Data Store Read23' * DataStoreRead: '/Data Store Read24' * DataStoreRead: '/Data Store Read25' * DataStoreRead: '/Data Store Read26' * DataStoreWrite: '/Data Store Write4' * Sum: '/Add18' * Sum: '/Add19' * Sum: '/Add20' * Sum: '/Add21' * Sum: '/Add22' * Sum: '/Add23' */ rtDW.Status_Duct_Tgt_model_IO.DuctTgt_Vent_FL = (uint16_t)(Duct_FLU_Tg + 400); rtDW.Status_Duct_Tgt_model_IO.DuctTgt_Foot_FL = (uint16_t)(rtb_y_ds + 400); rtDW.Status_Duct_Tgt_model_IO.DuctTgt_Vent_FR = (uint16_t)(Duct_FRU_Tg + 400); rtDW.Status_Duct_Tgt_model_IO.DuctTgt_Foot_FR = (uint16_t)(rtb_y_he + 400); rtDW.Status_Duct_Tgt_model_IO.DuctTgt_RL = (uint16_t)(rtb_Merge_b + 400); rtDW.Status_Duct_Tgt_model_IO.DuctTgt_RR = (uint16_t)(rtDW.Duct_RR_Tg + 400); /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write' */ rtDW.Status_Duct_Select_model_IO.Duct_FL = 0U; rtDW.Status_Duct_Select_model_IO.Duct_FR = 0U; rtDW.Status_Duct_Select_model_IO.Duct_RL = 0U; rtDW.Status_Duct_Select_model_IO.Duct_RR = 0U; /* BusCreator: '/Bus Creator1' incorporates: * DataStoreRead: '/Data Store Read27' * DataStoreRead: '/Data Store Read28' * DataStoreWrite: '/Data Store Write1' * DataTypeConversion: '/Data Type Conversion6' * DataTypeConversion: '/Data Type Conversion7' */ rtDW.Status_Eva_Tgt_model_IO.EvaTgt_F = (uint16_t)Eva_F_tg; rtDW.Status_Eva_Tgt_model_IO.EvaTgt_R = (uint16_t)Eva_R_tg; /* BusCreator: '/Bus Creator3' incorporates: * DataStoreRead: '/Data Store Read18' * DataStoreRead: '/Data Store Read19' * DataStoreRead: '/Data Store Read20' * DataStoreWrite: '/Data Store Write3' */ rtDW.Status_Actuator_model_IO.Motor_Def = rtDW.MaxPositionCh0_private[0]; rtDW.Status_Actuator_model_IO.Motor_Vent_SFL = rtDW.MaxPositionCh0_private[4]; rtDW.Status_Actuator_model_IO.Motor_Vent_CFL = rtDW.MaxPositionCh0_private[5]; rtDW.Status_Actuator_model_IO.Motor_Foot_1FL = rtDW.MaxPositionCh0_private[7]; rtDW.Status_Actuator_model_IO.Motor_Foot_2FL = rtDW.MaxPositionCh0_private[8]; rtDW.Status_Actuator_model_IO.Motor_Vent_CFR = rtDW.MaxPositionCh1_private[1]; rtDW.Status_Actuator_model_IO.Motor_Vent_SFR = rtDW.MaxPositionCh1_private[2]; rtDW.Status_Actuator_model_IO.Motor_Foot_1FR = rtDW.MaxPositionCh1_private[4]; rtDW.Status_Actuator_model_IO.Motor_Foot_2FR = rtDW.MaxPositionCh1_private[5]; rtDW.Status_Actuator_model_IO.Motor_Vent_SRL = rtDW.MaxPositionCh2_private[2]; rtDW.Status_Actuator_model_IO.Motor_Vent_CRL = rtDW.MaxPositionCh2_private[4]; rtDW.Status_Actuator_model_IO.Motor_Foot_RL = rtDW.MaxPositionCh2_private[3]; rtDW.Status_Actuator_model_IO.Motor_Vent_CRR = rtDW.MaxPositionCh2_private[5]; rtDW.Status_Actuator_model_IO.Motor_Vent_SRR = rtDW.MaxPositionCh2_private[7]; rtDW.Status_Actuator_model_IO.Motor_Foot_RR = rtDW.MaxPositionCh2_private[6]; rtDW.Status_Actuator_model_IO.Motor_Temp1_FL = rtDW.MaxPositionCh0_private[3]; rtDW.Status_Actuator_model_IO.Motor_Temp2_FL = rtDW.MaxPositionCh0_private[6]; rtDW.Status_Actuator_model_IO.Motor_Temp1_FR = rtDW.MaxPositionCh1_private[0]; rtDW.Status_Actuator_model_IO.Motor_Temp2_FR = rtDW.MaxPositionCh1_private[3]; rtDW.Status_Actuator_model_IO.Motor_Temp_RL = rtDW.MaxPositionCh2_private[0]; rtDW.Status_Actuator_model_IO.Motor_Temp_RR = rtDW.MaxPositionCh2_private[1]; rtDW.Status_Actuator_model_IO.Motor_REC = rtDW.MaxPositionCh0_private[1]; rtDW.Status_Actuator_model_IO.Motor_OSA = rtDW.MaxPositionCh0_private[2]; rtDW.Status_Actuator_model_IO.Motor_SealingValve = rtDW.MaxPositionCh2_private[8]; /* DataStoreRead: '/Data Store Read87' incorporates: * Concatenate: '/Vector Concatenate' */ rtY.DRS_output[0] = rtDW.DRS_SFL; /* DataStoreRead: '/Data Store Read89' incorporates: * Concatenate: '/Vector Concatenate' */ rtY.DRS_output[1] = rtDW.DRS_CFL; /* DataStoreRead: '/Data Store Read90' incorporates: * Concatenate: '/Vector Concatenate' */ rtY.DRS_output[2] = rtDW.DRS_CFR; /* DataStoreRead: '/Data Store Read88' incorporates: * Concatenate: '/Vector Concatenate' */ rtY.DRS_output[3] = rtDW.DRS_SFR; /* DataStoreRead: '/Data Store Read93' incorporates: * Concatenate: '/Vector Concatenate' */ rtY.DRS_output[4] = rtDW.DRS_SRL; /* DataStoreRead: '/Data Store Read94' incorporates: * Concatenate: '/Vector Concatenate' */ rtY.DRS_output[5] = rtDW.DRS_SRR; /* DataStoreRead: '/Data Store Read91' incorporates: * Concatenate: '/Vector Concatenate' */ rtY.DRS_output[6] = rtDW.DRS_CRL; /* DataStoreRead: '/Data Store Read92' incorporates: * Concatenate: '/Vector Concatenate' */ rtY.DRS_output[7] = rtDW.DRS_CRR; /* Switch: '/Switch' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read4' * DataStoreRead: '/Data Store Read5' * DataStoreWrite: '/Data Store Write' */ if (rtDW.CCU_MODE_FL > 0) { rtDW.ModeIndex[0] = rtDW.Index_mode_FL_auto; } else { rtDW.ModeIndex[0] = rtDW.Index_mode_FL_manual; } /* End of Switch: '/Switch' */ /* Switch: '/Switch1' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read6' * DataStoreRead: '/Data Store Read7' * DataStoreWrite: '/Data Store Write' */ if (rtDW.CCU_MODE_FR > 0) { rtDW.ModeIndex[1] = rtDW.Index_mode_FR_auto; } else { rtDW.ModeIndex[1] = rtDW.Index_mode_FR_manual; } /* End of Switch: '/Switch1' */ /* Switch: '/Switch2' incorporates: * DataStoreRead: '/Data Store Read10' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read9' * DataStoreWrite: '/Data Store Write' */ if (rtDW.CCU_MODE_RL > 0) { rtDW.ModeIndex[2] = (uint8_t)rtDW.Index_mode_RL_auto; } else { rtDW.ModeIndex[2] = rtDW.Index_mode_RL_manual; } /* End of Switch: '/Switch2' */ /* Switch: '/Switch3' incorporates: * DataStoreRead: '/Data Store Read12' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read8' * DataStoreWrite: '/Data Store Write' */ if (rtDW.CCU_MODE_RR > 0) { rtDW.ModeIndex[3] = (uint8_t)rtDW.Index_mode_RR_auto; } else { rtDW.ModeIndex[3] = rtDW.Index_mode_RR_manual; } /* End of Switch: '/Switch3' */ /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtb_Divide3 = 0.0; /* DataTypeConversion: '/Data Type Conversion' */ for (i = 0; i < 9; i++) { /* Switch: '/Switch' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read' * Gain: '/Gain' * Product: '/Divide' */ rtb_Saturation2_a = rtDW.MaxPositionCh0_private[i]; if (rtb_Saturation2_a != 0) { rtb_I_od = (double)Actuator_Ch0_Status_Model.in_CPOS_ALL[i] / (double) rtb_Saturation2_a * 100.0; } else { rtb_I_od = 0.0; } /* End of Switch: '/Switch' */ /* Saturate: '/Saturation' incorporates: * DataTypeConversion: '/Data Type Conversion' */ if (rtb_I_od > 100.0) { rtb_DataTypeConversion_p3[i] = 100U; } else { rtb_DataTypeConversion_p3[i] = (uint8_t)rtb_I_od; } /* End of Saturate: '/Saturation' */ } /* End of DataTypeConversion: '/Data Type Conversion' */ /* Switch: '/Switch' incorporates: * Constant: '/Constant1' * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read2' */ if (rtDW.stepSig_private > 0) { rtb_y_cb = rtDW.stepSig_private; } else { rtb_y_cb = 1; } /* End of Switch: '/Switch' */ /* SwitchCase: '/Switch Case' */ switch (rtb_y_cb) { case 1: /* Outputs for IfAction SubSystem: '/Stop Mode' incorporates: * ActionPort: '/Action Port' */ /* If: '/If1' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreWrite: '/Data Store Write1' * SignalConversion generated from: '/Bus Selector' */ if ((Actuator_Ch0_Status_Model.Busy == 0) && (Actuator_Ch0_Status_Model.Error_Connect == 0)) { /* Outputs for IfAction SubSystem: '/If Action Subsystem2' incorporates: * ActionPort: '/Action Port' */ for (i = 0; i < 9; i++) { /* DataStoreWrite: '/Data Store Write1' */ rtDW.COM_private[i] = 1U; /* DataStoreWrite: '/Data Store Write' */ rtDW.MODE_private[i] = 2U; } /* Merge: '/Merge' incorporates: * Constant: '/Constant' * Sum: '/step inc' */ rtB.Merge_f1 = (int8_t)(rtb_y_cb + 1); /* End of Outputs for SubSystem: '/If Action Subsystem2' */ /* : if(LOGGER == 2) */ } else { /* Outputs for IfAction SubSystem: '/If Action Subsystem3' incorporates: * ActionPort: '/Action Port' */ /* Merge: '/Merge' incorporates: * SignalConversion generated from: '/stepIn' */ rtB.Merge_f1 = rtb_y_cb; /* End of Outputs for SubSystem: '/If Action Subsystem3' */ } /* End of If: '/If1' */ /* End of Outputs for SubSystem: '/Stop Mode' */ break; case 2: /* Outputs for IfAction SubSystem: '/Initial CPOS Min' incorporates: * ActionPort: '/Action Port' */ /* If: '/If' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreWrite: '/Data Store Write1' * SignalConversion generated from: '/Bus Selector' */ if ((Actuator_Ch0_Status_Model.Busy == 0) && (Actuator_Ch0_Status_Model.Error_Connect == 0)) { /* Outputs for IfAction SubSystem: '/If Action Subsystem' incorporates: * ActionPort: '/Action Port' */ for (i = 0; i < 9; i++) { /* DataStoreWrite: '/Data Store Write' */ rtDW.POS_private[i] = 6000U; /* DataStoreWrite: '/Data Store Write1' */ rtDW.COM_private[i] = 2U; } /* Merge: '/Merge' incorporates: * Constant: '/Constant' * Merge: '/Merge' * Sum: '/step inc' */ rtB.Merge_f1 = (int8_t)(rtb_y_cb + 1); /* End of Outputs for SubSystem: '/If Action Subsystem' */ /* : if(LOGGER == 2) */ } else { /* Outputs for IfAction SubSystem: '/If Action Subsystem3' incorporates: * ActionPort: '/Action Port' */ /* Merge: '/Merge' incorporates: * Merge: '/Merge' * SignalConversion generated from: '/stepIn1' */ rtB.Merge_f1 = rtb_y_cb; /* End of Outputs for SubSystem: '/If Action Subsystem3' */ } /* End of If: '/If' */ /* End of Outputs for SubSystem: '/Initial CPOS Min' */ break; case 3: /* Outputs for IfAction SubSystem: '/Normal Mode' incorporates: * ActionPort: '/Action Port' */ /* If: '/If1' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreWrite: '/Data Store Write1' * SignalConversion generated from: '/Bus Selector' */ if ((Actuator_Ch0_Status_Model.Busy == 0) && (Actuator_Ch0_Status_Model.Error_Connect == 0)) { /* Outputs for IfAction SubSystem: '/If Action Subsystem2' incorporates: * ActionPort: '/Action Port' */ for (i = 0; i < 9; i++) { /* DataStoreWrite: '/Data Store Write' */ rtDW.MODE_private[i] = 0U; /* DataStoreWrite: '/Data Store Write1' */ rtDW.COM_private[i] = 1U; } /* Merge: '/Merge' incorporates: * Constant: '/Constant' * Sum: '/step inc' */ rtB.Merge_f1 = (int8_t)(rtb_y_cb + 1); /* End of Outputs for SubSystem: '/If Action Subsystem2' */ /* : if(LOGGER == 2) */ } else { /* Outputs for IfAction SubSystem: '/If Action Subsystem3' incorporates: * ActionPort: '/Action Port' */ /* Merge: '/Merge' incorporates: * SignalConversion generated from: '/stepIn' */ rtB.Merge_f1 = rtb_y_cb; /* End of Outputs for SubSystem: '/If Action Subsystem3' */ } /* End of If: '/If1' */ /* End of Outputs for SubSystem: '/Normal Mode' */ break; case 4: /* Outputs for IfAction SubSystem: '/Move to position Min' incorporates: * ActionPort: '/Action Port' */ /* If: '/If1' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreWrite: '/Data Store Write1' * SignalConversion generated from: '/Bus Selector' */ if ((Actuator_Ch0_Status_Model.Busy == 0) && (Actuator_Ch0_Status_Model.Error_Connect == 0)) { /* Outputs for IfAction SubSystem: '/If Action Subsystem2' incorporates: * ActionPort: '/Action Port' */ for (i = 0; i < 9; i++) { /* DataStoreWrite: '/Data Store Write4' incorporates: * Constant: '/Constant1' */ rtDW.Autos_private[i] = 1U; /* DataStoreWrite: '/Data Store Write2' incorporates: * Constant: '/Constant10' */ rtDW.Stall_private[i] = 1U; /* DataStoreWrite: '/Data Store Write3' */ rtDW.Lnoise_private[i] = 0U; /* DataStoreWrite: '/Data Store Write5' incorporates: * Constant: '/Constant2' */ rtDW.Speed_private[i] = 3U; /* DataStoreWrite: '/Data Store Write6' incorporates: * Constant: '/Constant3' */ rtDW.Coils_private[i] = 3U; /* DataStoreWrite: '/Data Store Write' */ rtDW.POS_private[i] = 0U; /* DataStoreWrite: '/Data Store Write1' incorporates: * Constant: '/Constant9' */ rtDW.COM_private[i] = 3U; } /* Merge: '/Merge' incorporates: * Constant: '/Constant' * Sum: '/step inc' */ rtB.Merge_f1 = (int8_t)(rtb_y_cb + 1); /* End of Outputs for SubSystem: '/If Action Subsystem2' */ /* : if(LOGGER == 2) */ } else { /* Outputs for IfAction SubSystem: '/If Action Subsystem3' incorporates: * ActionPort: '/Action Port' */ /* Merge: '/Merge' incorporates: * SignalConversion generated from: '/stepIn' */ rtB.Merge_f1 = rtb_y_cb; /* End of Outputs for SubSystem: '/If Action Subsystem3' */ } /* End of If: '/If1' */ /* End of Outputs for SubSystem: '/Move to position Min' */ break; case 5: /* Outputs for IfAction SubSystem: '/Check Stall Min' incorporates: * ActionPort: '/Action Port' */ /* Logic: '/Logical Operator3' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read' * Logic: '/Logical Operator1' * Logic: '/Logical Operator2' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator1' */ for (i = 0; i < 9; i++) { rtb_LogicalOperator3_nq[i] = ((Actuator_Ch0_Status_Model.in_Act_Stall_Slave[i] == 1) || (Actuator_Ch0_Status_Model.in_CPOS_ALL[i] == 0) || (rtDW.ErrorCalibration_private[i] == 0)); } /* End of Logic: '/Logical Operator3' */ /* Logic: '/Logical Operator' incorporates: * Logic: '/Logical Operator3' */ rtb_Compare_ht = rtb_LogicalOperator3_nq[0]; for (rtb_Gain2 = 0; rtb_Gain2 < 8; rtb_Gain2++) { rtb_Compare_ht = (rtb_Compare_ht && rtb_LogicalOperator3_nq[rtb_Gain2 + 1]); } /* If: '/If2' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreWrite: '/Data Store Write1' * DataTypeConversion: '/Data Type Conversion' * DataTypeConversion: '/Data Type Conversion1' * Logic: '/Logical Operator' * SignalConversion generated from: '/Bus Selector' */ if ((Actuator_Ch0_Status_Model.Busy == 0) && (Actuator_Ch0_Status_Model.Error_Connect == 0) && rtb_Compare_ht) { /* Outputs for IfAction SubSystem: '/If Action Subsystem2' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write1' */ for (rtb_Gain2 = 0; rtb_Gain2 < 9; rtb_Gain2++) { /* Switch: '/Switch' incorporates: * DataStoreRead: '/Data Store Read1' */ if (rtDW.ErrorCalibration_private[rtb_Gain2] != 0) { rtDW.MinPositionCh0_private[rtb_Gain2] = Actuator_Ch0_Status_Model.in_CPOS_ALL[rtb_Gain2]; } /* End of Switch: '/Switch' */ } /* End of DataStoreWrite: '/Data Store Write1' */ /* Merge: '/Merge' incorporates: * Constant: '/Constant' * Sum: '/step inc' */ rtB.Merge_f1 = (int8_t)(rtb_y_cb + 1); /* End of Outputs for SubSystem: '/If Action Subsystem2' */ /* : if(LOGGER == 2) */ } else { /* Outputs for IfAction SubSystem: '/If Action Subsystem3' incorporates: * ActionPort: '/Action Port' */ /* Merge: '/Merge' incorporates: * SignalConversion generated from: '/stepIn' */ rtB.Merge_f1 = rtb_y_cb; /* End of Outputs for SubSystem: '/If Action Subsystem3' */ } /* End of If: '/If2' */ /* End of Outputs for SubSystem: '/Check Stall Min' */ break; case 6: /* Outputs for IfAction SubSystem: '/Initial CPOS Max' incorporates: * ActionPort: '/Action Port' */ /* If: '/If1' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreWrite: '/Data Store Write1' * SignalConversion generated from: '/Bus Selector' */ if ((Actuator_Ch0_Status_Model.Busy == 0) && (Actuator_Ch0_Status_Model.Error_Connect == 0)) { /* Outputs for IfAction SubSystem: '/If Action Subsystem2' incorporates: * ActionPort: '/Action Port' */ for (i = 0; i < 9; i++) { /* DataStoreWrite: '/Data Store Write1' */ rtDW.COM_private[i] = 2U; /* DataStoreWrite: '/Data Store Write' */ rtDW.POS_private[i] = 0U; } /* Merge: '/Merge' incorporates: * Constant: '/Constant' * Sum: '/step inc' */ rtB.Merge_f1 = (int8_t)(rtb_y_cb + 1); /* End of Outputs for SubSystem: '/If Action Subsystem2' */ /* : if(LOGGER == 2) */ } else { /* Outputs for IfAction SubSystem: '/If Action Subsystem3' incorporates: * ActionPort: '/Action Port' */ /* Merge: '/Merge' incorporates: * SignalConversion generated from: '/stepIn' */ rtB.Merge_f1 = rtb_y_cb; /* End of Outputs for SubSystem: '/If Action Subsystem3' */ } /* End of If: '/If1' */ /* End of Outputs for SubSystem: '/Initial CPOS Max' */ break; case 7: /* Outputs for IfAction SubSystem: '/Move to position Max' incorporates: * ActionPort: '/Action Port' */ /* If: '/If1' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreWrite: '/Data Store Write1' * SignalConversion generated from: '/Bus Selector' */ if ((Actuator_Ch0_Status_Model.Busy == 0) && (Actuator_Ch0_Status_Model.Error_Connect == 0)) { /* Outputs for IfAction SubSystem: '/If Action Subsystem2' incorporates: * ActionPort: '/Action Port' */ for (i = 0; i < 9; i++) { /* DataStoreWrite: '/Data Store Write4' incorporates: * Constant: '/Constant1' */ rtDW.Autos_private[i] = 1U; /* DataStoreWrite: '/Data Store Write2' incorporates: * Constant: '/Constant10' */ rtDW.Stall_private[i] = 1U; /* DataStoreWrite: '/Data Store Write3' */ rtDW.Lnoise_private[i] = 0U; /* DataStoreWrite: '/Data Store Write5' incorporates: * Constant: '/Constant2' */ rtDW.Speed_private[i] = 3U; /* DataStoreWrite: '/Data Store Write' */ rtDW.POS_private[i] = 6000U; /* DataStoreWrite: '/Data Store Write1' incorporates: * Constant: '/Constant9' */ rtDW.COM_private[i] = 3U; /* DataStoreWrite: '/Data Store Write6' */ rtDW.Coils_private[i] = 0U; } /* Merge: '/Merge' incorporates: * Constant: '/Constant' * Sum: '/step inc' */ rtB.Merge_f1 = (int8_t)(rtb_y_cb + 1); /* End of Outputs for SubSystem: '/If Action Subsystem2' */ /* : if(LOGGER == 2) */ } else { /* Outputs for IfAction SubSystem: '/If Action Subsystem3' incorporates: * ActionPort: '/Action Port' */ /* Merge: '/Merge' incorporates: * SignalConversion generated from: '/stepIn' */ rtB.Merge_f1 = rtb_y_cb; /* End of Outputs for SubSystem: '/If Action Subsystem3' */ } /* End of If: '/If1' */ /* End of Outputs for SubSystem: '/Move to position Max' */ break; case 8: /* Outputs for IfAction SubSystem: '/Check Stall Max' incorporates: * ActionPort: '/Action Port' */ /* Logic: '/Logical Operator3' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read' * Logic: '/Logical Operator' * Logic: '/Logical Operator2' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator1' */ for (i = 0; i < 9; i++) { rtb_LogicalOperator3_nq[i] = ((Actuator_Ch0_Status_Model.in_Act_Stall_Slave[i] == 1) || (Actuator_Ch0_Status_Model.in_CPOS_ALL[i] == 6000) || (rtDW.ErrorCalibration_private[i] == 0)); } /* End of Logic: '/Logical Operator3' */ /* Logic: '/Logical Operator1' incorporates: * Logic: '/Logical Operator3' */ rtb_Compare_ht = rtb_LogicalOperator3_nq[0]; for (rtb_Gain2 = 0; rtb_Gain2 < 8; rtb_Gain2++) { rtb_Compare_ht = (rtb_Compare_ht && rtb_LogicalOperator3_nq[rtb_Gain2 + 1]); } /* If: '/If2' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreWrite: '/Data Store Write1' * DataTypeConversion: '/Data Type Conversion' * DataTypeConversion: '/Data Type Conversion1' * Logic: '/Logical Operator1' * SignalConversion generated from: '/Bus Selector' */ if ((Actuator_Ch0_Status_Model.Busy == 0) && (Actuator_Ch0_Status_Model.Error_Connect == 0) && rtb_Compare_ht) { /* Outputs for IfAction SubSystem: '/If Action Subsystem2' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write1' */ for (rtb_Gain2 = 0; rtb_Gain2 < 9; rtb_Gain2++) { /* Switch: '/Switch' incorporates: * DataStoreRead: '/Data Store Read1' */ if (rtDW.ErrorCalibration_private[rtb_Gain2] != 0) { rtDW.MaxPositionCh0_private[rtb_Gain2] = Actuator_Ch0_Status_Model.in_CPOS_ALL[rtb_Gain2]; } /* End of Switch: '/Switch' */ } /* End of DataStoreWrite: '/Data Store Write1' */ /* Merge: '/Merge' incorporates: * Constant: '/Constant' * Sum: '/step inc' */ rtB.Merge_f1 = (int8_t)(rtb_y_cb + 1); /* End of Outputs for SubSystem: '/If Action Subsystem2' */ /* : if(LOGGER == 2) */ } else { /* Outputs for IfAction SubSystem: '/If Action Subsystem3' incorporates: * ActionPort: '/Action Port' */ /* Merge: '/Merge' incorporates: * SignalConversion generated from: '/stepIn' */ rtB.Merge_f1 = rtb_y_cb; /* End of Outputs for SubSystem: '/If Action Subsystem3' */ } /* End of If: '/If2' */ /* End of Outputs for SubSystem: '/Check Stall Max' */ break; case 9: /* Outputs for IfAction SubSystem: '/Homing' incorporates: * ActionPort: '/Action Port' */ /* Product: '/Divide1' incorporates: * Constant: '/ACT1' * DataStoreRead: '/MAX ACT1T ' */ for (i = 0; i < 9; i++) { rtb_Divide1_pb[i] = (double)rtDW.MaxPositionCh0_private[i] / (double) rtConstP.pooled89[i]; } /* End of Product: '/Divide1' */ /* SwitchCase: '/Switch Case' incorporates: * DataStoreRead: '/Data Store Read4' */ switch (rtDW.stepHoming_private) { case 0: /* Outputs for IfAction SubSystem: '/Switch Case Action Subsystem' incorporates: * ActionPort: '/Action Port' */ for (i = 0; i < 9; i++) { /* RelationalOperator: '/Compare' */ rtb_I_od = rtb_Divide1_pb[i]; /* Logic: '/Logical Operator' incorporates: * Constant: '/Constant' * Constant: '/Constant' * RelationalOperator: '/Compare' * RelationalOperator: '/Compare' */ Enable_Comp_PID = ((rtb_I_od >= 0.6) && (rtb_I_od <= 1.5)); rtb_LogicalOperator3_nq[i] = Enable_Comp_PID; /* DataTypeConversion: '/Data Type Conversion' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' */ rtDW.ErrorCalibration_private[i] = (uint8_t)((!Enable_Comp_PID) && (rtDW.ErrorCalibration_private[i] != 0)); } /* Logic: '/Logical Operator1' */ /* : if(LOGGER>0) */ rtb_Compare_ht = rtb_LogicalOperator3_nq[0]; for (rtb_Gain2 = 0; rtb_Gain2 < 8; rtb_Gain2++) { rtb_Compare_ht = (rtb_Compare_ht && rtb_LogicalOperator3_nq[rtb_Gain2 + 1]); } /* Switch: '/Switch' incorporates: * Logic: '/Logical Operator1' */ if (rtb_Compare_ht) { /* Merge: '/Merge' incorporates: * Constant: '/Constant1' */ rtB.Merge_a = 4; } else { /* Merge: '/Merge' incorporates: * Constant: '/Constant' */ rtB.Merge_a = 1; } /* End of Switch: '/Switch' */ /* End of Outputs for SubSystem: '/Switch Case Action Subsystem' */ break; case 1: /* Outputs for IfAction SubSystem: '/Switch Case Action Subsystem1' incorporates: * ActionPort: '/Action Port' */ /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' */ for (i = 0; i < 9; i++) { rtb_LogicalOperator3_nq[i] = (rtb_Divide1_pb[i] > 1.5); } /* End of RelationalOperator: '/Compare' */ /* Logic: '/Logical Operator' */ rtb_Compare_ht = rtb_LogicalOperator3_nq[0]; for (rtb_Gain2 = 0; rtb_Gain2 < 8; rtb_Gain2++) { rtb_Compare_ht = (rtb_Compare_ht || rtb_LogicalOperator3_nq[rtb_Gain2 + 1]); } /* DataTypeConversion: '/Data Type Conversion' incorporates: * DataStoreWrite: '/Data Store Write1' * Logic: '/Logical Operator' */ rtDW.CCU_ActuatorErrF_Stat_private = rtb_Compare_ht; for (i = 0; i < 9; i++) { /* DataTypeConversion: '/Data Type Conversion1' incorporates: * DataStoreWrite: '/Data Store Write2' */ Enable_Comp_PID = rtb_LogicalOperator3_nq[i]; rtDW.COM_private[i] = Enable_Comp_PID; /* DataTypeConversion: '/Data Type Conversion2' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write3' * Logic: '/Logical Operator1' */ rtDW.ErrorActuator[i] = (uint8_t)(Enable_Comp_PID || (rtDW.ErrorActuator[i] != 0)); /* DataStoreWrite: '/Data Store Write' */ rtDW.MODE_private[i] = 2U; } /* MATLAB Function: '/Write ERROR' */ /* : if(LOGGER>=0) */ /* : for i = 1:numel(ErrCallibration) */ for (i = 0; i < 9; i++) { /* : if ErrCallibration(i) == 1 */ if (rtb_LogicalOperator3_nq[i]) { /* : fprintf('[LIN 1] Failure with actuator #%d\n', int16(i)); */ printf("[LIN 1] Failure with actuator #%d\n", (int16_t)(i + 1)); fflush(stdout); } } /* End of MATLAB Function: '/Write ERROR' */ for (i = 0; i < 9; i++) { /* Logic: '/Logical Operator1' */ Enable_Comp_PID = rtb_LogicalOperator3_nq[i]; /* DataTypeConversion: '/Data Type Conversion' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' */ rtDW.ErrorCalibration_private[i] = (uint8_t)((!Enable_Comp_PID) && (rtDW.ErrorCalibration_private[i] != 0)); /* DataStoreWrite: '/Data Store Write' incorporates: * DataTypeConversion: '/Data Type Conversion' */ rtDW.dtc_state_error_model[i + 54] = Enable_Comp_PID; } /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.stepSig_private = 1; /* Logic: '/Logical Operator2' incorporates: * DataStoreWrite: '/Data Store Write' */ /* : if(LOGGER>0) */ rtb_Compare_ht = (rtDW.ErrorCalibration_private[0] != 0); for (rtb_Gain2 = 0; rtb_Gain2 < 8; rtb_Gain2++) { rtb_Compare_ht = (rtb_Compare_ht || (rtDW.ErrorCalibration_private[rtb_Gain2 + 1] != 0)); } /* Switch: '/Switch' incorporates: * Logic: '/Logical Operator2' */ if (rtb_Compare_ht) { /* Merge: '/Merge' incorporates: * Constant: '/Constant1' */ rtB.Merge_a = 2; } else { /* Merge: '/Merge' incorporates: * Constant: '/Constant1' */ rtB.Merge_a = 4; } /* End of Switch: '/Switch' */ /* End of Outputs for SubSystem: '/Switch Case Action Subsystem1' */ break; case 2: /* Outputs for IfAction SubSystem: '/Switch Case Action Subsystem2' incorporates: * ActionPort: '/Action Port' */ for (i = 0; i < 9; i++) { /* RelationalOperator: '/Compare' */ rtb_I_od = rtb_Divide1_pb[i]; /* Logic: '/Logical Operator3' incorporates: * Constant: '/Constant' * Constant: '/Constant' * DataStoreRead: '/Data Store Read' * Logic: '/Logical Operator1' * Logic: '/Logical Operator4' * RelationalOperator: '/Compare' * RelationalOperator: '/Compare' */ Enable_Comp_PID = (((rtb_I_od < 0.97) || (rtb_I_od > 1.03)) && (rtDW.ErrorCalibration_private[i] != 0)); rtb_LogicalOperator3_nq[i] = Enable_Comp_PID; /* DataTypeConversion: '/Data Type Conversion' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.ErrorCalibration_private[i] = Enable_Comp_PID; } /* Logic: '/Logical Operator2' */ /* : if(LOGGER>0) */ rtb_Compare_ht = rtb_LogicalOperator3_nq[0]; for (rtb_Gain2 = 0; rtb_Gain2 < 8; rtb_Gain2++) { rtb_Compare_ht = (rtb_Compare_ht || rtb_LogicalOperator3_nq[rtb_Gain2 + 1]); } /* Switch: '/Switch' incorporates: * Logic: '/Logical Operator2' */ if (rtb_Compare_ht) { /* Merge: '/Merge' incorporates: * Constant: '/Constant3' */ rtB.Merge_a = 3; } else { /* Merge: '/Merge' incorporates: * Constant: '/Constant1' */ rtB.Merge_a = 4; } /* End of Switch: '/Switch' */ /* End of Outputs for SubSystem: '/Switch Case Action Subsystem2' */ break; case 3: /* Outputs for IfAction SubSystem: '/Switch Case Action Subsystem3' incorporates: * ActionPort: '/Action Port' */ /* If: '/If' incorporates: * DataStoreRead: '/Data Store Read1' */ /* : if(LOGGER>1) */ if (rtDW.ErrorHomming_private < 10.0) { /* Outputs for IfAction SubSystem: '/If Action Subsystem' incorporates: * ActionPort: '/Action Port' */ /* MATLAB Function: '/MATLAB Function' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read1' */ MATLABFunction(rtDW.Start_timer_n, rtDW.t_now, &rtb_Subtract, &rtDW.sf_MATLABFunction_h); /* If: '/If' */ /* : if(LOGGER>1) */ if (rtb_Subtract > 3600000U) { /* Outputs for IfAction SubSystem: '/If Action Subsystem' incorporates: * ActionPort: '/Action Port' */ /* Merge: '/Merge' */ IfActionSubsystem(&rtB.Merge_a, &rtDW.ErrorHomming_private, &rtDW.Start_timer_n, &rtDW.stepSig_private); /* End of Outputs for SubSystem: '/If Action Subsystem' */ } else { /* Outputs for IfAction SubSystem: '/If Action Subsystem1' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write2' incorporates: * Constant: '/Constant3' */ rtDW.Start_timer_n = 1.0; /* DataTypeConversion: '/Data Type Conversion2' incorporates: * DataStoreWrite: '/Data Store Write23' */ for (i = 0; i < 9; i++) { rtb_DataTypeConversion_h1[i] = (uint8_t)rtb_out_n1[i]; } /* End of DataTypeConversion: '/Data Type Conversion2' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Concatenate: '/Vector Concatenate' */ rtDW.BUS_ADR_private[0] = rtb_DataTypeConversion_h1[8]; /* DataStoreRead: '/Data Store Read4' incorporates: * Concatenate: '/Vector Concatenate' */ rtDW.BUS_ADR_private[1] = rtDW.Max_def_Rec_valve; /* DataStoreRead: '/Data Store Read3' incorporates: * Concatenate: '/Vector Concatenate' */ rtDW.BUS_ADR_private[2] = rtDW.Max_def_OSA_valve; /* DataStoreRead: '/Data Store Read' incorporates: * Concatenate: '/Vector Concatenate' */ rtDW.BUS_ADR_private[3] = rtDW.PID_TempFUL; /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Concatenate: '/Vector Concatenate' */ rtDW.BUS_ADR_private[4] = rtb_DataTypeConversion_h1[1]; /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Concatenate: '/Vector Concatenate' */ rtDW.BUS_ADR_private[5] = rtb_DataTypeConversion_h1[0]; /* DataStoreRead: '/Data Store Read6' incorporates: * Concatenate: '/Vector Concatenate' */ rtDW.BUS_ADR_private[6] = rtDW.PID_TempFLL; /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Concatenate: '/Vector Concatenate' */ rtDW.BUS_ADR_private[7] = rtb_DataTypeConversion_h1[4]; /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Concatenate: '/Vector Concatenate' */ rtDW.BUS_ADR_private[8] = rtb_DataTypeConversion_h1[5]; for (i = 0; i < 9; i++) { /* Product: '/Product' */ El_window_heating = rtDW.BUS_ADR_private[i]; /* DataTypeConversion: '/Data Type Conversion1' incorporates: * Constant: '/Constant1' * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write' * Product: '/Divide1' * Product: '/Product' */ rtDW.POS_private[i] = (uint16_t)((double)(El_window_heating * rtDW.MaxPositionCh0_private[i]) / 100.0); /* RelationalOperator: '/Relational Operator1' incorporates: * DataStoreWrite: '/Data Store Write2' */ rtb_LogicalOperator3_nq[i] = (rtb_DataTypeConversion_p3[i] == El_window_heating); } /* Logic: '/Logical Operator' */ rtb_Compare_ht = rtb_LogicalOperator3_nq[0]; for (rtb_Gain2 = 0; rtb_Gain2 < 8; rtb_Gain2++) { rtb_Compare_ht = (rtb_Compare_ht && rtb_LogicalOperator3_nq[rtb_Gain2 + 1]); } for (i = 0; i < 9; i++) { /* Switch: '/Switch' incorporates: * Constant: '/Constant4' * Constant: '/Constant9' * DataStoreWrite: '/Data Store Write1' * Logic: '/Logical Operator' */ if (rtb_Compare_ht) { rtDW.COM_private[i] = 0U; } else { rtDW.COM_private[i] = 3U; } /* End of Switch: '/Switch' */ /* DataTypeConversion: '/Data Type Conversion1' incorporates: * Concatenate: '/Vector Concatenate' * Constant: '/Constant5' * DataStoreWrite: '/Data Store Write2' * DataStoreWrite: '/Data Store Write7' * Product: '/Product' * RelationalOperator: '/Relational Operator' */ rtDW.BUS_ADR_private[i] = (uint8_t)((uint32_t) (rtb_DataTypeConversion_p3[i] != rtDW.BUS_ADR_private[i]) * rtConstP.pooled140[i]); /* DataStoreWrite: '/Data Store Write4' incorporates: * Constant: '/Constant1' */ rtDW.Autos_private[i] = 1U; /* DataStoreWrite: '/Data Store Write2' incorporates: * Constant: '/Constant10' */ rtDW.Stall_private[i] = 1U; /* DataStoreWrite: '/Data Store Write3' incorporates: * Constant: '/Constant11' */ rtDW.Lnoise_private[i] = 0U; /* DataStoreWrite: '/Data Store Write5' incorporates: * Constant: '/Constant2' */ rtDW.Speed_private[i] = 3U; /* DataStoreWrite: '/Data Store Write6' incorporates: * Constant: '/Constant3' */ rtDW.Coils_private[i] = 3U; } /* Merge: '/Merge' incorporates: * Constant: '/Constant1' * Merge: '/Merge' * SignalConversion generated from: '/Out1' */ rtB.Merge_a = 3; /* End of Outputs for SubSystem: '/If Action Subsystem1' */ } /* End of If: '/If' */ /* End of Outputs for SubSystem: '/If Action Subsystem' */ } else { /* Outputs for IfAction SubSystem: '/If Action Subsystem1' incorporates: * ActionPort: '/Action Port' */ IfActionSubsystem1(&rtB.Merge_a, &rtDW.CCU_ActuatorErrF_Stat_private, rtDW.COM_private, rtDW.ErrorActuator, rtDW.ErrorCalibration_private, &rtb_Divide3, rtDW.MODE_private, rtDW.dtc_state_error_model); /* End of Outputs for SubSystem: '/If Action Subsystem1' */ } /* End of If: '/If' */ /* End of Outputs for SubSystem: '/Switch Case Action Subsystem3' */ break; case 4: /* Outputs for IfAction SubSystem: '/Switch Case Action Subsystem4' incorporates: * ActionPort: '/Action Port' */ /* DataTypeConversion: '/Data Type Conversion2' incorporates: * DataStoreWrite: '/Data Store Write23' */ for (i = 0; i < 9; i++) { rtb_DataTypeConversion_h1[i] = (uint8_t)rtb_out_n1[i]; } /* End of DataTypeConversion: '/Data Type Conversion2' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Concatenate: '/Vector Concatenate' */ rtDW.BUS_ADR_private[0] = rtb_DataTypeConversion_h1[8]; /* DataStoreRead: '/Data Store Read4' incorporates: * Concatenate: '/Vector Concatenate' */ rtDW.BUS_ADR_private[1] = rtDW.Max_def_Rec_valve; /* DataStoreRead: '/Data Store Read2' incorporates: * Concatenate: '/Vector Concatenate' */ rtDW.BUS_ADR_private[2] = rtDW.Max_def_OSA_valve; /* DataStoreRead: '/Data Store Read' incorporates: * Concatenate: '/Vector Concatenate' */ rtDW.BUS_ADR_private[3] = rtDW.PID_TempFUL; /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Concatenate: '/Vector Concatenate' */ rtDW.BUS_ADR_private[4] = rtb_DataTypeConversion_h1[1]; /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Concatenate: '/Vector Concatenate' */ rtDW.BUS_ADR_private[5] = rtb_DataTypeConversion_h1[0]; /* DataStoreRead: '/Data Store Read6' incorporates: * Concatenate: '/Vector Concatenate' */ rtDW.BUS_ADR_private[6] = rtDW.PID_TempFLL; /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Concatenate: '/Vector Concatenate' */ rtDW.BUS_ADR_private[7] = rtb_DataTypeConversion_h1[4]; /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Concatenate: '/Vector Concatenate' */ rtDW.BUS_ADR_private[8] = rtb_DataTypeConversion_h1[5]; for (i = 0; i < 9; i++) { /* Product: '/Product' */ El_window_heating = rtDW.BUS_ADR_private[i]; /* DataTypeConversion: '/Data Type Conversion1' incorporates: * Constant: '/Constant1' * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write' * Product: '/Divide1' * Product: '/Product' */ rtDW.POS_private[i] = (uint16_t)((double)(El_window_heating * rtDW.MaxPositionCh0_private[i]) / 100.0); /* RelationalOperator: '/Relational Operator1' incorporates: * DataStoreWrite: '/Data Store Write2' */ rtb_LogicalOperator3_nq[i] = (rtb_DataTypeConversion_p3[i] == El_window_heating); } /* Logic: '/Logical Operator' */ rtb_Compare_ht = rtb_LogicalOperator3_nq[0]; for (rtb_Gain2 = 0; rtb_Gain2 < 8; rtb_Gain2++) { rtb_Compare_ht = (rtb_Compare_ht && rtb_LogicalOperator3_nq[rtb_Gain2 + 1]); } for (i = 0; i < 9; i++) { /* Switch: '/Switch' incorporates: * Constant: '/Constant4' * Constant: '/Constant9' * DataStoreWrite: '/Data Store Write1' * Logic: '/Logical Operator' */ if (rtb_Compare_ht) { rtDW.COM_private[i] = 0U; } else { rtDW.COM_private[i] = 3U; } /* End of Switch: '/Switch' */ /* DataTypeConversion: '/Data Type Conversion1' incorporates: * Concatenate: '/Vector Concatenate' * Constant: '/Constant5' * DataStoreWrite: '/Data Store Write2' * DataStoreWrite: '/Data Store Write7' * Product: '/Product' * RelationalOperator: '/Relational Operator' */ rtDW.BUS_ADR_private[i] = (uint8_t)((uint32_t) (rtb_DataTypeConversion_p3[i] != rtDW.BUS_ADR_private[i]) * rtConstP.pooled140[i]); /* DataStoreWrite: '/Data Store Write4' incorporates: * Constant: '/Constant1' */ rtDW.Autos_private[i] = 1U; /* DataStoreWrite: '/Data Store Write2' incorporates: * Constant: '/Constant10' */ rtDW.Stall_private[i] = 1U; /* DataStoreWrite: '/Data Store Write3' incorporates: * Constant: '/Constant11' */ rtDW.Lnoise_private[i] = 0U; /* DataStoreWrite: '/Data Store Write5' incorporates: * Constant: '/Constant2' */ rtDW.Speed_private[i] = 3U; /* DataStoreWrite: '/Data Store Write6' incorporates: * Constant: '/Constant3' */ rtDW.Coils_private[i] = 3U; } /* Merge: '/Merge' incorporates: * Constant: '/Constant1' * SignalConversion generated from: '/step' */ rtB.Merge_a = 4; /* End of Outputs for SubSystem: '/Switch Case Action Subsystem4' */ break; } /* End of SwitchCase: '/Switch Case' */ /* DataStoreWrite: '/Data Store Write2' */ rtDW.stepHoming_private = rtB.Merge_a; /* Merge: '/Merge' incorporates: * DataStoreRead: '/Data Store Read7' */ rtB.Merge_f1 = rtDW.stepSig_private; /* End of Outputs for SubSystem: '/Homing' */ break; } /* End of SwitchCase: '/Switch Case' */ /* DataStoreWrite: '/Finish write stepSig' */ rtDW.stepSig_private = rtB.Merge_f1; for (i = 0; i < 9; i++) { /* BusCreator: '/Bus Creator' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read4' * DataStoreRead: '/Data Store Read5' * DataStoreRead: '/Data Store Read6' * DataStoreRead: '/Data Store Read7' * DataStoreRead: '/Data Store Read8' * DataStoreWrite: '/Data Store Write' */ Actuator_Ch0_Command_Model.POS[i] = rtDW.POS_private[i]; Actuator_Ch0_Command_Model.BUS_ADR[i] = rtDW.BUS_ADR_private[i]; Actuator_Ch0_Command_Model.MODE[i] = rtDW.MODE_private[i]; Actuator_Ch0_Command_Model.COM[i] = rtDW.COM_private[i]; Actuator_Ch0_Command_Model.Stall_SET[i] = rtDW.Stall_private[i]; Actuator_Ch0_Command_Model.Lnoise_SET[i] = rtDW.Lnoise_private[i]; Actuator_Ch0_Command_Model.Autos_SET[i] = rtDW.Autos_private[i]; Actuator_Ch0_Command_Model.Speed_SET[i] = rtDW.Speed_private[i]; Actuator_Ch0_Command_Model.Coils_Stop_SET[i] = rtDW.Coils_private[i]; /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read2' */ rtb_LogicalOperator3_nq[i] = (rtDW.ErrorCalibration_private[i] == 0); } /* Logic: '/Logical Operator' */ rtb_Compare_ht = rtb_LogicalOperator3_nq[0]; for (rtb_Gain2 = 0; rtb_Gain2 < 8; rtb_Gain2++) { rtb_Compare_ht = (rtb_Compare_ht || rtb_LogicalOperator3_nq[rtb_Gain2 + 1]); } for (i = 0; i < 9; i++) { /* Switch: '/Switch1' incorporates: * Concatenate: '/Vector Concatenate' * Constant: '/Constant' * Constant: '/Constant3' * DataStoreRead: '/Data Store Read2' * DataStoreWrite: '/Data Store Write7' * Logic: '/Logical Operator' * Product: '/Product' */ if (rtb_Compare_ht) { rtDW.BUS_ADR_private[i] = (uint8_t)((uint32_t) rtDW.ErrorCalibration_private[i] * rtConstP.pooled140[i]); } else { rtDW.BUS_ADR_private[i] = 0U; } /* End of Switch: '/Switch1' */ /* DataStoreWrite: '/Data Store Write' */ rtDW.COM_private[i] = 0U; } /* DataTypeConversion: '/Data Type Conversion' */ for (i = 0; i < 6; i++) { /* Switch: '/Switch' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read' * Gain: '/Gain' * Product: '/Divide' */ rtb_Saturation2_a = rtDW.MaxPositionCh1_private[i]; if (rtb_Saturation2_a != 0) { rtb_I_od = (double)Actuator_Ch1_Status_Model.in_CPOS_ALL[i] / (double) rtb_Saturation2_a * 100.0; } else { rtb_I_od = 0.0; } /* End of Switch: '/Switch' */ /* Saturate: '/Saturation' */ if (rtb_I_od > 100.0) { rtb_DataTypeConversion_h1[i] = 100U; } else { rtb_DataTypeConversion_h1[i] = (uint8_t)rtb_I_od; } /* End of Saturate: '/Saturation' */ } /* End of DataTypeConversion: '/Data Type Conversion' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant1' */ rtb_DataTypeConversion_h1[6] = 0U; rtb_DataTypeConversion_h1[7] = 0U; rtb_DataTypeConversion_h1[8] = 0U; /* DataStoreWrite: '/Data Store Write2' */ for (i = 0; i < 9; i++) { Actuator_pos_percent_Ch1[i] = rtb_DataTypeConversion_h1[i]; } /* Switch: '/Switch' incorporates: * Constant: '/Constant1' * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read2' */ if (rtDW.stepSig_private_h > 0) { rtb_y_cb = rtDW.stepSig_private_h; } else { rtb_y_cb = 1; } /* End of Switch: '/Switch' */ /* SwitchCase: '/Switch Case' */ switch (rtb_y_cb) { case 1: /* Outputs for IfAction SubSystem: '/Stop Mode' incorporates: * ActionPort: '/Action Port' */ /* If: '/If1' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreWrite: '/Data Store Write1' * SignalConversion generated from: '/Bus Selector' */ if ((Actuator_Ch1_Status_Model.Busy == 0) && (Actuator_Ch1_Status_Model.Error_Connect == 0)) { /* Outputs for IfAction SubSystem: '/If Action Subsystem2' incorporates: * ActionPort: '/Action Port' */ for (i = 0; i < 9; i++) { /* DataStoreWrite: '/Data Store Write1' */ rtDW.COM_private_g[i] = 1U; /* DataStoreWrite: '/Data Store Write' */ rtDW.MODE_private_b[i] = 2U; } /* Merge: '/Merge' incorporates: * Constant: '/Constant' * Sum: '/step inc' */ rtB.Merge_e = (int8_t)(rtb_y_cb + 1); /* MATLAB Function: '/Write' incorporates: * DataStoreRead: '/Data Store Read3' */ /* : if(LOGGER == 2) */ if (rtb_Divide3 == 2.0) { /* : fprintf('[LIN 2] Stop Mode\n'); */ printf("[LIN 2] Stop Mode\n"); fflush(stdout); } /* End of MATLAB Function: '/Write' */ /* End of Outputs for SubSystem: '/If Action Subsystem2' */ } else { /* Outputs for IfAction SubSystem: '/If Action Subsystem3' incorporates: * ActionPort: '/Action Port' */ /* Merge: '/Merge' incorporates: * SignalConversion generated from: '/stepIn' */ rtB.Merge_e = rtb_y_cb; /* End of Outputs for SubSystem: '/If Action Subsystem3' */ } /* End of If: '/If1' */ /* End of Outputs for SubSystem: '/Stop Mode' */ break; case 2: /* Outputs for IfAction SubSystem: '/Initial CPOS Min' incorporates: * ActionPort: '/Action Port' */ /* If: '/If' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreWrite: '/Data Store Write1' * SignalConversion generated from: '/Bus Selector' */ if ((Actuator_Ch1_Status_Model.Busy == 0) && (Actuator_Ch1_Status_Model.Error_Connect == 0)) { /* Outputs for IfAction SubSystem: '/If Action Subsystem' incorporates: * ActionPort: '/Action Port' */ for (i = 0; i < 9; i++) { /* DataStoreWrite: '/Data Store Write' */ rtDW.POS_private_m[i] = 6000U; /* DataStoreWrite: '/Data Store Write1' */ rtDW.COM_private_g[i] = 2U; } /* Merge: '/Merge' incorporates: * Constant: '/Constant' * Merge: '/Merge' * Sum: '/step inc' */ rtB.Merge_e = (int8_t)(rtb_y_cb + 1); /* MATLAB Function: '/Write' incorporates: * DataStoreRead: '/Data Store Read3' */ /* : if(LOGGER == 2) */ if (rtb_Divide3 == 2.0) { /* : fprintf('[LIN 2] Initial CPOS Min\n'); */ printf("[LIN 2] Initial CPOS Min\n"); fflush(stdout); } /* End of MATLAB Function: '/Write' */ /* End of Outputs for SubSystem: '/If Action Subsystem' */ } else { /* Outputs for IfAction SubSystem: '/If Action Subsystem3' incorporates: * ActionPort: '/Action Port' */ /* Merge: '/Merge' incorporates: * Merge: '/Merge' * SignalConversion generated from: '/stepIn1' */ rtB.Merge_e = rtb_y_cb; /* End of Outputs for SubSystem: '/If Action Subsystem3' */ } /* End of If: '/If' */ /* End of Outputs for SubSystem: '/Initial CPOS Min' */ break; case 3: /* Outputs for IfAction SubSystem: '/Normal Mode' incorporates: * ActionPort: '/Action Port' */ /* If: '/If1' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreWrite: '/Data Store Write1' * SignalConversion generated from: '/Bus Selector' */ if ((Actuator_Ch1_Status_Model.Busy == 0) && (Actuator_Ch1_Status_Model.Error_Connect == 0)) { /* Outputs for IfAction SubSystem: '/If Action Subsystem2' incorporates: * ActionPort: '/Action Port' */ for (i = 0; i < 9; i++) { /* DataStoreWrite: '/Data Store Write' */ rtDW.MODE_private_b[i] = 0U; /* DataStoreWrite: '/Data Store Write1' */ rtDW.COM_private_g[i] = 1U; } /* Merge: '/Merge' incorporates: * Constant: '/Constant' * Sum: '/step inc' */ rtB.Merge_e = (int8_t)(rtb_y_cb + 1); /* MATLAB Function: '/Write' incorporates: * DataStoreRead: '/Data Store Read3' */ /* : if(LOGGER == 2) */ if (rtb_Divide3 == 2.0) { /* : fprintf('LIN 2] Normal Mode\n'); */ printf("LIN 2] Normal Mode\n"); fflush(stdout); } /* End of MATLAB Function: '/Write' */ /* End of Outputs for SubSystem: '/If Action Subsystem2' */ } else { /* Outputs for IfAction SubSystem: '/If Action Subsystem3' incorporates: * ActionPort: '/Action Port' */ /* Merge: '/Merge' incorporates: * SignalConversion generated from: '/stepIn' */ rtB.Merge_e = rtb_y_cb; /* End of Outputs for SubSystem: '/If Action Subsystem3' */ } /* End of If: '/If1' */ /* End of Outputs for SubSystem: '/Normal Mode' */ break; case 4: /* Outputs for IfAction SubSystem: '/Move to position Min' incorporates: * ActionPort: '/Action Port' */ /* If: '/If1' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreWrite: '/Data Store Write1' * SignalConversion generated from: '/Bus Selector' */ if ((Actuator_Ch1_Status_Model.Busy == 0) && (Actuator_Ch1_Status_Model.Error_Connect == 0)) { /* Outputs for IfAction SubSystem: '/If Action Subsystem2' incorporates: * ActionPort: '/Action Port' */ for (i = 0; i < 9; i++) { /* DataStoreWrite: '/Data Store Write4' incorporates: * Constant: '/Constant1' */ rtDW.Autos_private_n[i] = 1U; /* DataStoreWrite: '/Data Store Write2' incorporates: * Constant: '/Constant10' */ rtDW.Stall_private_l[i] = 1U; /* DataStoreWrite: '/Data Store Write3' */ rtDW.Lnoise_private_n[i] = 0U; /* DataStoreWrite: '/Data Store Write5' incorporates: * Constant: '/Constant2' */ rtDW.Speed_private_j[i] = 3U; /* DataStoreWrite: '/Data Store Write6' incorporates: * Constant: '/Constant3' */ rtDW.Coils_private_c[i] = 3U; /* DataStoreWrite: '/Data Store Write' */ rtDW.POS_private_m[i] = 0U; /* DataStoreWrite: '/Data Store Write1' incorporates: * Constant: '/Constant9' */ rtDW.COM_private_g[i] = 3U; } /* Merge: '/Merge' incorporates: * Constant: '/Constant' * Sum: '/step inc' */ rtB.Merge_e = (int8_t)(rtb_y_cb + 1); /* MATLAB Function: '/Write' incorporates: * DataStoreRead: '/Data Store Read3' */ /* : if(LOGGER == 2) */ if (rtb_Divide3 == 2.0) { /* : fprintf('[LIN 2] Move to position Min\n'); */ printf("[LIN 2] Move to position Min\n"); fflush(stdout); } /* End of MATLAB Function: '/Write' */ /* End of Outputs for SubSystem: '/If Action Subsystem2' */ } else { /* Outputs for IfAction SubSystem: '/If Action Subsystem3' incorporates: * ActionPort: '/Action Port' */ /* Merge: '/Merge' incorporates: * SignalConversion generated from: '/stepIn' */ rtB.Merge_e = rtb_y_cb; /* End of Outputs for SubSystem: '/If Action Subsystem3' */ } /* End of If: '/If1' */ /* End of Outputs for SubSystem: '/Move to position Min' */ break; case 5: /* Outputs for IfAction SubSystem: '/Check Stall Min' incorporates: * ActionPort: '/Action Port' */ /* Logic: '/Logical Operator3' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read' * Logic: '/Logical Operator1' * Logic: '/Logical Operator2' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator1' */ for (i = 0; i < 6; i++) { rtb_LogicalOperator3_k[i] = ((Actuator_Ch1_Status_Model.in_Act_Stall_Slave[i] == 1) || (Actuator_Ch1_Status_Model.in_CPOS_ALL[i] == 0) || (rtDW.ErrorCalibration_private_p[i] == 0)); } /* End of Logic: '/Logical Operator3' */ /* Logic: '/Logical Operator' incorporates: * Logic: '/Logical Operator3' */ rtb_Compare_ht = rtb_LogicalOperator3_k[0]; for (rtb_Gain2 = 0; rtb_Gain2 < 5; rtb_Gain2++) { rtb_Compare_ht = (rtb_Compare_ht && rtb_LogicalOperator3_k[rtb_Gain2 + 1]); } /* If: '/If2' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreWrite: '/Data Store Write1' * DataTypeConversion: '/Data Type Conversion' * DataTypeConversion: '/Data Type Conversion1' * Logic: '/Logical Operator' * SignalConversion generated from: '/Bus Selector' */ if ((Actuator_Ch1_Status_Model.Busy == 0) && (Actuator_Ch1_Status_Model.Error_Connect == 0) && rtb_Compare_ht) { /* Outputs for IfAction SubSystem: '/If Action Subsystem2' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write1' */ for (rtb_Gain2 = 0; rtb_Gain2 < 9; rtb_Gain2++) { /* Switch: '/Switch' incorporates: * DataStoreRead: '/Data Store Read1' */ if (rtDW.ErrorCalibration_private_p[rtb_Gain2] != 0) { rtDW.MinPositionCh1_private[rtb_Gain2] = Actuator_Ch1_Status_Model.in_CPOS_ALL[rtb_Gain2]; } /* End of Switch: '/Switch' */ } /* End of DataStoreWrite: '/Data Store Write1' */ /* Merge: '/Merge' incorporates: * Constant: '/Constant' * Sum: '/step inc' */ rtB.Merge_e = (int8_t)(rtb_y_cb + 1); /* MATLAB Function: '/Write' incorporates: * DataStoreRead: '/Data Store Read3' */ /* : if(LOGGER == 2) */ if (rtb_Divide3 == 2.0) { /* : fprintf('[LIN 2] Check Stall Min\n'); */ printf("[LIN 2] Check Stall Min\n"); fflush(stdout); /* : for i = 1:numel(data) */ for (i = 0; i < 9; i++) { /* : fprintf('[LIN 2] MIN = %d ', int16(data(i))); */ rtb_out_kez = Actuator_Ch1_Status_Model.in_CPOS_ALL[i]; if (rtb_out_kez > 32767) { rtb_out_kez = 32767U; } printf("[LIN 2] MIN = %d ", (int16_t)rtb_out_kez); fflush(stdout); } /* : fprintf('\n'); */ printf("\n"); fflush(stdout); } /* End of MATLAB Function: '/Write' */ /* End of Outputs for SubSystem: '/If Action Subsystem2' */ } else { /* Outputs for IfAction SubSystem: '/If Action Subsystem3' incorporates: * ActionPort: '/Action Port' */ /* Merge: '/Merge' incorporates: * SignalConversion generated from: '/stepIn' */ rtB.Merge_e = rtb_y_cb; /* End of Outputs for SubSystem: '/If Action Subsystem3' */ } /* End of If: '/If2' */ /* End of Outputs for SubSystem: '/Check Stall Min' */ break; case 6: /* Outputs for IfAction SubSystem: '/Initial CPOS Max' incorporates: * ActionPort: '/Action Port' */ /* If: '/If1' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreWrite: '/Data Store Write1' * SignalConversion generated from: '/Bus Selector' */ if ((Actuator_Ch1_Status_Model.Busy == 0) && (Actuator_Ch1_Status_Model.Error_Connect == 0)) { /* Outputs for IfAction SubSystem: '/If Action Subsystem2' incorporates: * ActionPort: '/Action Port' */ for (i = 0; i < 9; i++) { /* DataStoreWrite: '/Data Store Write1' */ rtDW.COM_private_g[i] = 2U; /* DataStoreWrite: '/Data Store Write' */ rtDW.POS_private_m[i] = 0U; } /* Merge: '/Merge' incorporates: * Constant: '/Constant' * Sum: '/step inc' */ rtB.Merge_e = (int8_t)(rtb_y_cb + 1); /* MATLAB Function: '/Write' incorporates: * DataStoreRead: '/Data Store Read3' */ /* : if(LOGGER == 2) */ if (rtb_Divide3 == 2.0) { /* : fprintf('[LIN 2] Initial CPOS Max\n'); */ printf("[LIN 2] Initial CPOS Max\n"); fflush(stdout); } /* End of MATLAB Function: '/Write' */ /* End of Outputs for SubSystem: '/If Action Subsystem2' */ } else { /* Outputs for IfAction SubSystem: '/If Action Subsystem3' incorporates: * ActionPort: '/Action Port' */ /* Merge: '/Merge' incorporates: * SignalConversion generated from: '/stepIn' */ rtB.Merge_e = rtb_y_cb; /* End of Outputs for SubSystem: '/If Action Subsystem3' */ } /* End of If: '/If1' */ /* End of Outputs for SubSystem: '/Initial CPOS Max' */ break; case 7: /* Outputs for IfAction SubSystem: '/Move to position Max' incorporates: * ActionPort: '/Action Port' */ /* If: '/If1' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreWrite: '/Data Store Write1' * SignalConversion generated from: '/Bus Selector' */ if ((Actuator_Ch1_Status_Model.Busy == 0) && (Actuator_Ch1_Status_Model.Error_Connect == 0)) { /* Outputs for IfAction SubSystem: '/If Action Subsystem2' incorporates: * ActionPort: '/Action Port' */ for (i = 0; i < 9; i++) { /* DataStoreWrite: '/Data Store Write4' incorporates: * Constant: '/Constant1' */ rtDW.Autos_private_n[i] = 1U; /* DataStoreWrite: '/Data Store Write2' incorporates: * Constant: '/Constant10' */ rtDW.Stall_private_l[i] = 1U; /* DataStoreWrite: '/Data Store Write3' */ rtDW.Lnoise_private_n[i] = 0U; /* DataStoreWrite: '/Data Store Write5' incorporates: * Constant: '/Constant2' */ rtDW.Speed_private_j[i] = 3U; /* DataStoreWrite: '/Data Store Write6' incorporates: * Constant: '/Constant3' */ rtDW.Coils_private_c[i] = 3U; /* DataStoreWrite: '/Data Store Write' */ rtDW.POS_private_m[i] = 6000U; /* DataStoreWrite: '/Data Store Write1' incorporates: * Constant: '/Constant9' */ rtDW.COM_private_g[i] = 3U; } /* Merge: '/Merge' incorporates: * Constant: '/Constant' * Sum: '/step inc' */ rtB.Merge_e = (int8_t)(rtb_y_cb + 1); /* MATLAB Function: '/Write' incorporates: * DataStoreRead: '/Data Store Read3' */ /* : if(LOGGER == 2) */ if (rtb_Divide3 == 2.0) { /* : fprintf('[LIN 2] Move to position Max\n'); */ printf("[LIN 2] Move to position Max\n"); fflush(stdout); } /* End of MATLAB Function: '/Write' */ /* End of Outputs for SubSystem: '/If Action Subsystem2' */ } else { /* Outputs for IfAction SubSystem: '/If Action Subsystem3' incorporates: * ActionPort: '/Action Port' */ /* Merge: '/Merge' incorporates: * SignalConversion generated from: '/stepIn' */ rtB.Merge_e = rtb_y_cb; /* End of Outputs for SubSystem: '/If Action Subsystem3' */ } /* End of If: '/If1' */ /* End of Outputs for SubSystem: '/Move to position Max' */ break; case 8: /* Outputs for IfAction SubSystem: '/Check Stall Max' incorporates: * ActionPort: '/Action Port' */ /* Logic: '/Logical Operator3' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read' * Logic: '/Logical Operator' * Logic: '/Logical Operator2' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator1' */ for (i = 0; i < 6; i++) { rtb_LogicalOperator3_k[i] = ((Actuator_Ch1_Status_Model.in_Act_Stall_Slave[i] == 1) || (Actuator_Ch1_Status_Model.in_CPOS_ALL[i] == 6000) || (rtDW.ErrorCalibration_private_p[i] == 0)); } /* End of Logic: '/Logical Operator3' */ /* Logic: '/Logical Operator1' incorporates: * Logic: '/Logical Operator3' */ rtb_Compare_ht = rtb_LogicalOperator3_k[0]; for (rtb_Gain2 = 0; rtb_Gain2 < 5; rtb_Gain2++) { rtb_Compare_ht = (rtb_Compare_ht && rtb_LogicalOperator3_k[rtb_Gain2 + 1]); } /* If: '/If2' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreWrite: '/Data Store Write1' * DataTypeConversion: '/Data Type Conversion' * DataTypeConversion: '/Data Type Conversion1' * Logic: '/Logical Operator1' * SignalConversion generated from: '/Bus Selector' */ if ((Actuator_Ch1_Status_Model.Busy == 0) && (Actuator_Ch1_Status_Model.Error_Connect == 0) && rtb_Compare_ht) { /* Outputs for IfAction SubSystem: '/If Action Subsystem2' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write1' */ for (i = 0; i < 9; i++) { /* Switch: '/Switch' incorporates: * DataStoreRead: '/Data Store Read1' */ if (rtDW.ErrorCalibration_private_p[i] != 0) { rtDW.MaxPositionCh1_private[i] = Actuator_Ch1_Status_Model.in_CPOS_ALL[i]; } else { rtDW.MaxPositionCh1_private[i] = 0U; } /* End of Switch: '/Switch' */ } /* End of DataStoreWrite: '/Data Store Write1' */ /* Merge: '/Merge' incorporates: * Constant: '/Constant' * Sum: '/step inc' */ rtB.Merge_e = (int8_t)(rtb_y_cb + 1); /* MATLAB Function: '/Write' incorporates: * DataStoreRead: '/Data Store Read3' */ /* : if(LOGGER == 2) */ if (rtb_Divide3 == 2.0) { /* : fprintf('[LIN 2] Check Stall MAX\n'); */ printf("[LIN 2] Check Stall MAX\n"); fflush(stdout); /* : for i = 1:numel(data) */ for (i = 0; i < 9; i++) { /* : fprintf('[LIN 2] MAX = %d ', int16(data(i))); */ rtb_out_kez = Actuator_Ch1_Status_Model.in_CPOS_ALL[i]; if (rtb_out_kez > 32767) { rtb_out_kez = 32767U; } printf("[LIN 2] MAX = %d ", (int16_t)rtb_out_kez); fflush(stdout); } /* : fprintf('\n'); */ printf("\n"); fflush(stdout); } /* End of MATLAB Function: '/Write' */ /* End of Outputs for SubSystem: '/If Action Subsystem2' */ } else { /* Outputs for IfAction SubSystem: '/If Action Subsystem3' incorporates: * ActionPort: '/Action Port' */ /* Merge: '/Merge' incorporates: * SignalConversion generated from: '/stepIn' */ rtB.Merge_e = rtb_y_cb; /* End of Outputs for SubSystem: '/If Action Subsystem3' */ } /* End of If: '/If2' */ /* End of Outputs for SubSystem: '/Check Stall Max' */ break; case 9: /* Outputs for IfAction SubSystem: '/Homing' incorporates: * ActionPort: '/Action Port' */ /* Product: '/Divide1' incorporates: * Constant: '/ACT1' * DataStoreRead: '/MAX ACT1T ' */ for (i = 0; i < 6; i++) { rtb_Divide1_pb[i] = (double)rtDW.MaxPositionCh1_private[i] / (double) rtConstP.ACT1_Value[i]; } /* End of Product: '/Divide1' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant' */ rtb_Divide1_pb[6] = 1.0; rtb_Divide1_pb[7] = 1.0; rtb_Divide1_pb[8] = 1.0; /* SwitchCase: '/Switch Case' incorporates: * DataStoreRead: '/Data Store Read4' */ switch (rtDW.stepHoming_private_f) { case 0: /* Outputs for IfAction SubSystem: '/Switch Case Action Subsystem' incorporates: * ActionPort: '/Action Port' */ for (i = 0; i < 9; i++) { /* RelationalOperator: '/Compare' */ rtb_I_od = rtb_Divide1_pb[i]; /* Logic: '/Logical Operator' incorporates: * Constant: '/Constant' * Constant: '/Constant' * RelationalOperator: '/Compare' * RelationalOperator: '/Compare' */ Enable_Comp_PID = ((rtb_I_od >= 0.6) && (rtb_I_od <= 1.5)); rtb_LogicalOperator3_nq[i] = Enable_Comp_PID; /* DataTypeConversion: '/Data Type Conversion' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' */ rtDW.ErrorCalibration_private_p[i] = (uint8_t)((!Enable_Comp_PID) && (rtDW.ErrorCalibration_private_p[i] != 0)); } /* MATLAB Function: '/MAX POSITION' incorporates: * DataStoreRead: '/Data Store Read5' * DataStoreRead: '/MIN ACT1T 1' * Logic: '/Logical Operator2' */ /* : if(LOGGER>0) */ if (rtb_Divide3 > 0.0) { /* : fprintf("[LIN 2] Homing 0\n"); */ printf("[LIN 2] Homing 0\n"); fflush(stdout); /* : for i = 1:numel(MAX) */ for (i = 0; i < 6; i++) { /* : fprintf('[LIN 2] ACT%d MAX = %d KOEF = %f Callibration = %d \n', int16(i), int16(MAX(i)), KOEF(i), int16(ERRORS(i))); */ rtb_out_kez = rtDW.MaxPositionCh1_private[i]; if (rtb_out_kez > 32767) { rtb_out_kez = 32767U; } printf("[LIN 2] ACT%d MAX = %d KOEF = %f Callibration = %d \n", (int16_t)(i + 1), (int16_t)rtb_out_kez, rtb_Divide1_pb[i], (int16_t)!rtb_LogicalOperator3_nq[i]); fflush(stdout); } } /* End of MATLAB Function: '/MAX POSITION' */ /* Logic: '/Logical Operator1' */ rtb_Compare_ht = rtb_LogicalOperator3_nq[0]; for (rtb_Gain2 = 0; rtb_Gain2 < 8; rtb_Gain2++) { rtb_Compare_ht = (rtb_Compare_ht && rtb_LogicalOperator3_nq[rtb_Gain2 + 1]); } /* Switch: '/Switch' incorporates: * Logic: '/Logical Operator1' */ if (rtb_Compare_ht) { /* Merge: '/Merge' incorporates: * Constant: '/Constant1' */ rtB.Merge_p = 4; } else { /* Merge: '/Merge' incorporates: * Constant: '/Constant' */ rtB.Merge_p = 1; } /* End of Switch: '/Switch' */ /* End of Outputs for SubSystem: '/Switch Case Action Subsystem' */ break; case 1: /* Outputs for IfAction SubSystem: '/Switch Case Action Subsystem1' incorporates: * ActionPort: '/Action Port' */ /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' */ for (i = 0; i < 9; i++) { rtb_LogicalOperator3_nq[i] = (rtb_Divide1_pb[i] > 1.5); } /* End of RelationalOperator: '/Compare' */ /* Logic: '/Logical Operator' */ rtb_Compare_ht = rtb_LogicalOperator3_nq[0]; for (rtb_Gain2 = 0; rtb_Gain2 < 8; rtb_Gain2++) { rtb_Compare_ht = (rtb_Compare_ht || rtb_LogicalOperator3_nq[rtb_Gain2 + 1]); } /* DataTypeConversion: '/Data Type Conversion' incorporates: * DataStoreWrite: '/Data Store Write1' * Logic: '/Logical Operator' */ rtDW.CCU_ActuatorErrF_Stat_private = rtb_Compare_ht; for (i = 0; i < 9; i++) { /* DataTypeConversion: '/Data Type Conversion1' incorporates: * DataStoreWrite: '/Data Store Write2' */ Enable_Comp_PID = rtb_LogicalOperator3_nq[i]; rtDW.COM_private_g[i] = Enable_Comp_PID; /* DataTypeConversion: '/Data Type Conversion2' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write3' * Logic: '/Logical Operator1' */ rtDW.ErrorActuator_o[i] = (uint8_t)(Enable_Comp_PID || (rtDW.ErrorActuator_o[i] != 0)); /* DataStoreWrite: '/Data Store Write' */ rtDW.MODE_private_b[i] = 2U; } /* MATLAB Function: '/Write ERROR' incorporates: * DataStoreRead: '/Data Store Read6' */ /* : if(LOGGER>=0) */ if (rtb_Divide3 >= 0.0) { /* : for i = 1:numel(ErrCallibration) */ for (i = 0; i < 9; i++) { /* : if ErrCallibration(i) == 1 */ if (rtb_LogicalOperator3_nq[i]) { /* : fprintf('[LIN 2] Failure with actuator #%d\n', int16(i)); */ printf("[LIN 2] Failure with actuator #%d\n", (int16_t)(i + 1)); fflush(stdout); } } } /* End of MATLAB Function: '/Write ERROR' */ for (i = 0; i < 9; i++) { /* Logic: '/Logical Operator1' */ Enable_Comp_PID = rtb_LogicalOperator3_nq[i]; /* DataTypeConversion: '/Data Type Conversion' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' */ rtDW.ErrorCalibration_private_p[i] = (uint8_t)((!Enable_Comp_PID) && (rtDW.ErrorCalibration_private_p[i] != 0)); /* DataStoreWrite: '/Data Store Write' incorporates: * DataTypeConversion: '/Data Type Conversion' */ rtDW.dtc_state_error_model[i + 54] = Enable_Comp_PID; } /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.stepSig_private_h = 1; /* MATLAB Function: '/MAX POSITION' incorporates: * DataStoreRead: '/Data Store Read5' * DataStoreRead: '/MIN ACT1T 1' * DataStoreWrite: '/Data Store Write' */ /* : if(LOGGER>0) */ if (rtb_Divide3 > 0.0) { /* : fprintf("[LIN 2] Homing 1. Start Callibration \n"); */ printf("[LIN 2] Homing 1. Start Callibration \n"); fflush(stdout); /* : for i = 1:numel(MAX) */ for (i = 0; i < 6; i++) { /* : if(ERRORS(i)==1) */ if (rtDW.ErrorCalibration_private_p[i] == 1) { /* : fprintf('[LIN 2] ACT%d MAX = %d KOEF = %f Callibration = %d \n', int16(i), int16(MAX(i)), KOEF(i), int16(ERRORS(i))); */ rtb_out_kez = rtDW.MaxPositionCh1_private[i]; if (rtb_out_kez > 32767) { rtb_out_kez = 32767U; } printf("[LIN 2] ACT%d MAX = %d KOEF = %f Callibration = %d \n", (int16_t)(i + 1), (int16_t)rtb_out_kez, rtb_Divide1_pb[i], (int16_t)rtDW.ErrorCalibration_private_p[i]); fflush(stdout); } } } /* End of MATLAB Function: '/MAX POSITION' */ /* Logic: '/Logical Operator2' incorporates: * DataStoreWrite: '/Data Store Write' */ rtb_Compare_ht = (rtDW.ErrorCalibration_private_p[0] != 0); for (rtb_Gain2 = 0; rtb_Gain2 < 8; rtb_Gain2++) { rtb_Compare_ht = (rtb_Compare_ht || (rtDW.ErrorCalibration_private_p[rtb_Gain2 + 1] != 0)); } /* Switch: '/Switch' incorporates: * Logic: '/Logical Operator2' */ if (rtb_Compare_ht) { /* Merge: '/Merge' incorporates: * Constant: '/Constant1' */ rtB.Merge_p = 2; } else { /* Merge: '/Merge' incorporates: * Constant: '/Constant1' */ rtB.Merge_p = 4; } /* End of Switch: '/Switch' */ /* End of Outputs for SubSystem: '/Switch Case Action Subsystem1' */ break; case 2: /* Outputs for IfAction SubSystem: '/Switch Case Action Subsystem2' incorporates: * ActionPort: '/Action Port' */ for (i = 0; i < 9; i++) { /* RelationalOperator: '/Compare' */ rtb_I_od = rtb_Divide1_pb[i]; /* Logic: '/Logical Operator3' incorporates: * Constant: '/Constant' * Constant: '/Constant' * DataStoreRead: '/Data Store Read' * Logic: '/Logical Operator1' * Logic: '/Logical Operator4' * RelationalOperator: '/Compare' * RelationalOperator: '/Compare' */ Enable_Comp_PID = (((rtb_I_od < 0.97) || (rtb_I_od > 1.03)) && (rtDW.ErrorCalibration_private_p[i] != 0)); rtb_LogicalOperator3_nq[i] = Enable_Comp_PID; /* DataTypeConversion: '/Data Type Conversion' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.ErrorCalibration_private_p[i] = Enable_Comp_PID; } /* MATLAB Function: '/MAX POSITION' incorporates: * DataStoreRead: '/Data Store Read5' * DataStoreRead: '/MIN ACT1T 1' */ /* : if(LOGGER>0) */ if (rtb_Divide3 > 0.0) { /* : fprintf("[LIN 2] Homing 3. Callibration \n"); */ printf("[LIN 2] Homing 3. Callibration \n"); fflush(stdout); /* : for i = 1:numel(MAX) */ for (i = 0; i < 6; i++) { /* : if(ERRORS(i)==1) */ if (rtb_LogicalOperator3_nq[i]) { /* : fprintf('[LIN 2] ACT%d MAX = %d KOEF = %f Callibration = %d \n', int16(i), int16(MAX(i)), KOEF(i), int16(ERRORS(i))); */ rtb_out_kez = rtDW.MaxPositionCh1_private[i]; if (rtb_out_kez > 32767) { rtb_out_kez = 32767U; } printf("[LIN 2] ACT%d MAX = %d KOEF = %f Callibration = %d \n", (int16_t)(i + 1), (int16_t)rtb_out_kez, rtb_Divide1_pb[i], 1); fflush(stdout); } } } /* End of MATLAB Function: '/MAX POSITION' */ /* Logic: '/Logical Operator2' */ rtb_Compare_ht = rtb_LogicalOperator3_nq[0]; for (rtb_Gain2 = 0; rtb_Gain2 < 8; rtb_Gain2++) { rtb_Compare_ht = (rtb_Compare_ht || rtb_LogicalOperator3_nq[rtb_Gain2 + 1]); } /* Switch: '/Switch' incorporates: * Logic: '/Logical Operator2' */ if (rtb_Compare_ht) { /* Merge: '/Merge' incorporates: * Constant: '/Constant3' */ rtB.Merge_p = 3; } else { /* Merge: '/Merge' incorporates: * Constant: '/Constant1' */ rtB.Merge_p = 4; } /* End of Switch: '/Switch' */ /* End of Outputs for SubSystem: '/Switch Case Action Subsystem2' */ break; case 3: /* Outputs for IfAction SubSystem: '/Switch Case Action Subsystem3' incorporates: * ActionPort: '/Action Port' */ /* MATLAB Function: '/MAX POSITION' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read5' */ /* : if(LOGGER>1) */ if (rtb_Divide3 > 1.0) { /* : fprintf("[LIN 2] Homing 3. Start Time on step %d\n",int16(step)); */ rtb_I_od = rt_roundd(rtDW.ErrorHomming_private_h); if (rtb_I_od < 32768.0) { if (rtb_I_od >= -32768.0) { rtb_Switch2_nb = (int16_t)rtb_I_od; } else { rtb_Switch2_nb = INT16_MIN; } } else { rtb_Switch2_nb = INT16_MAX; } printf("[LIN 2] Homing 3. Start Time on step %d\n", rtb_Switch2_nb); fflush(stdout); } /* End of MATLAB Function: '/MAX POSITION' */ /* If: '/If' incorporates: * DataStoreRead: '/Data Store Read1' */ if (rtDW.ErrorHomming_private_h < 10.0) { /* Outputs for IfAction SubSystem: '/If Action Subsystem' incorporates: * ActionPort: '/Action Port' */ /* MATLAB Function: '/MATLAB Function' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read1' */ MATLABFunction(rtDW.Start_timer_j, rtDW.t_now, &rtb_dt_nx, &rtDW.sf_MATLABFunction_hk); /* MATLAB Function: '/MAX POSITION' incorporates: * DataStoreRead: '/Data Store Read5' */ /* : if(LOGGER>1) */ if (rtb_Divide3 > 1.0) { /* : fprintf("[LIN 2] Homing 3. Start TIme dt = %d \n",int32(data)); */ rtb_Subtract = rtb_dt_nx; if (rtb_dt_nx > 2147483647U) { rtb_Subtract = 2147483647U; } printf("[LIN 2] Homing 3. Start TIme dt = %d \n", (int32_t) rtb_Subtract); fflush(stdout); } /* End of MATLAB Function: '/MAX POSITION' */ /* If: '/If' */ if (rtb_dt_nx > 3600000U) { /* Outputs for IfAction SubSystem: '/If Action Subsystem' incorporates: * ActionPort: '/Action Port' */ /* Merge: '/Merge' */ IfActionSubsystem(&rtB.Merge_p, &rtDW.ErrorHomming_private_h, &rtDW.Start_timer_j, &rtDW.stepSig_private_h); /* End of Outputs for SubSystem: '/If Action Subsystem' */ } else { /* Outputs for IfAction SubSystem: '/If Action Subsystem1' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write2' incorporates: * Constant: '/Constant3' */ rtDW.Start_timer_j = 1.0; /* DataStoreRead: '/Data Store Read' incorporates: * Concatenate: '/LIN1' */ rtDW.BUS_ADR_private_j[0] = rtDW.PID_TempFUR; /* DataTypeConversion: '/Data Type Conversion2' incorporates: * DataStoreWrite: '/Data Store Write23' */ for (i = 0; i < 9; i++) { rtb_DataTypeConversion_fb[i] = (uint8_t)rtb_out_n1[i]; } /* End of DataTypeConversion: '/Data Type Conversion2' */ /* SignalConversion generated from: '/LIN1' incorporates: * Concatenate: '/LIN1' */ rtDW.BUS_ADR_private_j[1] = rtb_DataTypeConversion_fb[2]; /* SignalConversion generated from: '/LIN1' incorporates: * Concatenate: '/LIN1' */ rtDW.BUS_ADR_private_j[2] = rtb_DataTypeConversion_fb[3]; /* DataStoreRead: '/Data Store Read2' incorporates: * Concatenate: '/LIN1' */ rtDW.BUS_ADR_private_j[3] = rtDW.PID_TempFRL; /* SignalConversion generated from: '/LIN1' incorporates: * Concatenate: '/LIN1' */ rtDW.BUS_ADR_private_j[4] = rtb_DataTypeConversion_fb[6]; /* SignalConversion generated from: '/LIN1' incorporates: * Concatenate: '/LIN1' */ rtDW.BUS_ADR_private_j[5] = rtb_DataTypeConversion_fb[7]; /* SignalConversion generated from: '/LIN1' incorporates: * Concatenate: '/LIN1' * DataStoreWrite: '/Data Store Write2' */ rtDW.BUS_ADR_private_j[6] = 0U; /* SignalConversion generated from: '/LIN1' incorporates: * Concatenate: '/LIN1' * DataStoreWrite: '/Data Store Write2' */ rtDW.BUS_ADR_private_j[7] = 0U; /* SignalConversion generated from: '/LIN1' incorporates: * Concatenate: '/LIN1' * DataStoreWrite: '/Data Store Write2' */ rtDW.BUS_ADR_private_j[8] = 0U; for (i = 0; i < 9; i++) { /* Product: '/Product' */ El_window_heating = rtDW.BUS_ADR_private_j[i]; /* DataTypeConversion: '/Data Type Conversion1' incorporates: * Constant: '/Constant1' * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write' * Product: '/Divide1' * Product: '/Product' */ rtDW.POS_private_m[i] = (uint16_t)((double)(El_window_heating * rtDW.MaxPositionCh1_private[i]) / 100.0); /* RelationalOperator: '/Relational Operator1' incorporates: * DataStoreWrite: '/Data Store Write2' */ rtb_LogicalOperator3_nq[i] = (rtb_DataTypeConversion_h1[i] == El_window_heating); } /* Logic: '/Logical Operator' */ rtb_Compare_ht = rtb_LogicalOperator3_nq[0]; for (rtb_Gain2 = 0; rtb_Gain2 < 8; rtb_Gain2++) { rtb_Compare_ht = (rtb_Compare_ht && rtb_LogicalOperator3_nq[rtb_Gain2 + 1]); } for (i = 0; i < 9; i++) { /* Switch: '/Switch' incorporates: * Constant: '/Constant4' * Constant: '/Constant9' * DataStoreWrite: '/Data Store Write1' * Logic: '/Logical Operator' */ if (rtb_Compare_ht) { rtDW.COM_private_g[i] = 0U; } else { rtDW.COM_private_g[i] = 3U; } /* End of Switch: '/Switch' */ /* DataTypeConversion: '/Data Type Conversion1' incorporates: * Concatenate: '/LIN1' * Constant: '/Constant5' * DataStoreWrite: '/Data Store Write2' * DataStoreWrite: '/Data Store Write7' * Product: '/Product' * RelationalOperator: '/Relational Operator' */ rtDW.BUS_ADR_private_j[i] = (uint8_t)((uint32_t) (rtb_DataTypeConversion_h1[i] != rtDW.BUS_ADR_private_j[i]) * rtConstP.pooled140[i]); /* DataStoreWrite: '/Data Store Write4' incorporates: * Constant: '/Constant1' */ rtDW.Autos_private_n[i] = 1U; /* DataStoreWrite: '/Data Store Write2' incorporates: * Constant: '/Constant10' */ rtDW.Stall_private_l[i] = 1U; /* DataStoreWrite: '/Data Store Write3' incorporates: * Constant: '/Constant11' */ rtDW.Lnoise_private_n[i] = 0U; /* DataStoreWrite: '/Data Store Write5' incorporates: * Constant: '/Constant2' */ rtDW.Speed_private_j[i] = 3U; /* DataStoreWrite: '/Data Store Write6' incorporates: * Constant: '/Constant3' */ rtDW.Coils_private_c[i] = 3U; } /* Merge: '/Merge' incorporates: * Constant: '/Constant1' * Merge: '/Merge' * SignalConversion generated from: '/Out1' */ rtB.Merge_p = 3; /* End of Outputs for SubSystem: '/If Action Subsystem1' */ } /* End of If: '/If' */ /* End of Outputs for SubSystem: '/If Action Subsystem' */ } else { /* Outputs for IfAction SubSystem: '/If Action Subsystem1' incorporates: * ActionPort: '/Action Port' */ IfActionSubsystem1(&rtB.Merge_p, &rtDW.CCU_ActuatorErrF_Stat_private, rtDW.COM_private_g, rtDW.ErrorActuator_o, rtDW.ErrorCalibration_private_p, &rtb_Divide3, rtDW.MODE_private_b, rtDW.dtc_state_error_model); /* End of Outputs for SubSystem: '/If Action Subsystem1' */ } /* End of If: '/If' */ /* End of Outputs for SubSystem: '/Switch Case Action Subsystem3' */ break; case 4: /* Outputs for IfAction SubSystem: '/Switch Case Action Subsystem4' incorporates: * ActionPort: '/Action Port' */ /* DataStoreRead: '/Data Store Read' incorporates: * Concatenate: '/LIN1' */ rtDW.BUS_ADR_private_j[0] = rtDW.PID_TempFUR; /* DataTypeConversion: '/Data Type Conversion2' incorporates: * DataStoreWrite: '/Data Store Write23' */ for (i = 0; i < 9; i++) { rtb_DataTypeConversion_fb[i] = (uint8_t)rtb_out_n1[i]; } /* End of DataTypeConversion: '/Data Type Conversion2' */ /* SignalConversion generated from: '/LIN1' incorporates: * Concatenate: '/LIN1' */ rtDW.BUS_ADR_private_j[1] = rtb_DataTypeConversion_fb[2]; /* SignalConversion generated from: '/LIN1' incorporates: * Concatenate: '/LIN1' */ rtDW.BUS_ADR_private_j[2] = rtb_DataTypeConversion_fb[3]; /* DataStoreRead: '/Data Store Read2' incorporates: * Concatenate: '/LIN1' */ rtDW.BUS_ADR_private_j[3] = rtDW.PID_TempFRL; /* SignalConversion generated from: '/LIN1' incorporates: * Concatenate: '/LIN1' */ rtDW.BUS_ADR_private_j[4] = rtb_DataTypeConversion_fb[6]; /* SignalConversion generated from: '/LIN1' incorporates: * Concatenate: '/LIN1' */ rtDW.BUS_ADR_private_j[5] = rtb_DataTypeConversion_fb[7]; /* SignalConversion generated from: '/LIN1' incorporates: * Concatenate: '/LIN1' * DataStoreWrite: '/Data Store Write2' */ rtDW.BUS_ADR_private_j[6] = 0U; /* SignalConversion generated from: '/LIN1' incorporates: * Concatenate: '/LIN1' * DataStoreWrite: '/Data Store Write2' */ rtDW.BUS_ADR_private_j[7] = 0U; /* SignalConversion generated from: '/LIN1' incorporates: * Concatenate: '/LIN1' * DataStoreWrite: '/Data Store Write2' */ rtDW.BUS_ADR_private_j[8] = 0U; for (i = 0; i < 9; i++) { /* Product: '/Product' */ El_window_heating = rtDW.BUS_ADR_private_j[i]; /* DataTypeConversion: '/Data Type Conversion1' incorporates: * Constant: '/Constant1' * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write' * Product: '/Divide1' * Product: '/Product' */ rtDW.POS_private_m[i] = (uint16_t)((double)(El_window_heating * rtDW.MaxPositionCh1_private[i]) / 100.0); /* RelationalOperator: '/Relational Operator1' incorporates: * DataStoreWrite: '/Data Store Write2' */ rtb_LogicalOperator3_nq[i] = (rtb_DataTypeConversion_h1[i] == El_window_heating); } /* Logic: '/Logical Operator' */ rtb_Compare_ht = rtb_LogicalOperator3_nq[0]; for (rtb_Gain2 = 0; rtb_Gain2 < 8; rtb_Gain2++) { rtb_Compare_ht = (rtb_Compare_ht && rtb_LogicalOperator3_nq[rtb_Gain2 + 1]); } for (i = 0; i < 9; i++) { /* Switch: '/Switch' incorporates: * Constant: '/Constant4' * Constant: '/Constant9' * DataStoreWrite: '/Data Store Write1' * Logic: '/Logical Operator' */ if (rtb_Compare_ht) { rtDW.COM_private_g[i] = 0U; } else { rtDW.COM_private_g[i] = 3U; } /* End of Switch: '/Switch' */ /* DataTypeConversion: '/Data Type Conversion1' incorporates: * Concatenate: '/LIN1' * Constant: '/Constant5' * DataStoreWrite: '/Data Store Write2' * DataStoreWrite: '/Data Store Write7' * Product: '/Product' * RelationalOperator: '/Relational Operator' */ rtDW.BUS_ADR_private_j[i] = (uint8_t)((uint32_t) (rtb_DataTypeConversion_h1[i] != rtDW.BUS_ADR_private_j[i]) * rtConstP.pooled140[i]); /* DataStoreWrite: '/Data Store Write4' incorporates: * Constant: '/Constant1' */ rtDW.Autos_private_n[i] = 1U; /* DataStoreWrite: '/Data Store Write2' incorporates: * Constant: '/Constant10' */ rtDW.Stall_private_l[i] = 1U; /* DataStoreWrite: '/Data Store Write3' incorporates: * Constant: '/Constant11' */ rtDW.Lnoise_private_n[i] = 0U; /* DataStoreWrite: '/Data Store Write5' incorporates: * Constant: '/Constant2' */ rtDW.Speed_private_j[i] = 3U; /* DataStoreWrite: '/Data Store Write6' incorporates: * Constant: '/Constant3' */ rtDW.Coils_private_c[i] = 3U; } /* Merge: '/Merge' incorporates: * Constant: '/Constant1' * SignalConversion generated from: '/step' */ rtB.Merge_p = 4; /* MATLAB Function: '/MAX POSITION' incorporates: * DataStoreRead: '/Data Store Read5' */ /* : if(LOGGER>0) */ if (rtb_Divide3 > 0.0) { /* : fprintf("[LIN 2] Homing. Callibration successful \n"); */ printf("[LIN 2] Homing. Callibration successful \n"); fflush(stdout); } /* End of MATLAB Function: '/MAX POSITION' */ /* End of Outputs for SubSystem: '/Switch Case Action Subsystem4' */ break; } /* End of SwitchCase: '/Switch Case' */ /* DataStoreWrite: '/Data Store Write2' */ rtDW.stepHoming_private_f = rtB.Merge_p; /* Merge: '/Merge' incorporates: * DataStoreRead: '/Data Store Read7' */ rtB.Merge_e = rtDW.stepSig_private_h; /* End of Outputs for SubSystem: '/Homing' */ break; } /* End of SwitchCase: '/Switch Case' */ /* DataStoreWrite: '/Finish write stepSig' */ rtDW.stepSig_private_h = rtB.Merge_e; /* BusCreator: '/Bus Creator' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read4' * DataStoreRead: '/Data Store Read5' * DataStoreRead: '/Data Store Read6' * DataStoreRead: '/Data Store Read7' * DataStoreRead: '/Data Store Read8' * DataStoreWrite: '/Data Store Write' */ for (i = 0; i < 9; i++) { Actuator_Ch1_Command_Model.POS[i] = rtDW.POS_private_m[i]; Actuator_Ch1_Command_Model.BUS_ADR[i] = rtDW.BUS_ADR_private_j[i]; Actuator_Ch1_Command_Model.MODE[i] = rtDW.MODE_private_b[i]; Actuator_Ch1_Command_Model.COM[i] = rtDW.COM_private_g[i]; Actuator_Ch1_Command_Model.Stall_SET[i] = rtDW.Stall_private_l[i]; Actuator_Ch1_Command_Model.Lnoise_SET[i] = rtDW.Lnoise_private_n[i]; Actuator_Ch1_Command_Model.Autos_SET[i] = rtDW.Autos_private_n[i]; Actuator_Ch1_Command_Model.Speed_SET[i] = rtDW.Speed_private_j[i]; Actuator_Ch1_Command_Model.Coils_Stop_SET[i] = rtDW.Coils_private_c[i]; } /* End of BusCreator: '/Bus Creator' */ /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read2' */ for (i = 0; i < 6; i++) { rtb_Compare_le[i] = (rtDW.ErrorCalibration_private_p[i] == 0); } /* End of RelationalOperator: '/Compare' */ /* Logic: '/Logical Operator' */ rtb_Compare_ht = rtb_Compare_le[0]; for (rtb_Gain2 = 0; rtb_Gain2 < 5; rtb_Gain2++) { rtb_Compare_ht = (rtb_Compare_ht || rtb_Compare_le[rtb_Gain2 + 1]); } /* Switch: '/Switch1' incorporates: * Constant: '/Constant' * Constant: '/Constant3' * DataStoreRead: '/Data Store Read2' * Logic: '/Logical Operator' * Product: '/Product' */ for (i = 0; i < 6; i++) { if (rtb_Compare_ht) { rtb_DataTypeConversion_h1[i] = (uint8_t)((uint32_t) rtDW.ErrorCalibration_private_p[i] * rtConstP.Constant3_Value[i]); } else { rtb_DataTypeConversion_h1[i] = 0U; } } /* End of Switch: '/Switch1' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant1' */ rtb_DataTypeConversion_h1[6] = 0U; rtb_DataTypeConversion_h1[7] = 0U; rtb_DataTypeConversion_h1[8] = 0U; for (i = 0; i < 9; i++) { /* DataStoreWrite: '/Data Store Write7' incorporates: * Concatenate: '/LIN1' */ rtDW.BUS_ADR_private_j[i] = rtb_DataTypeConversion_h1[i]; /* DataStoreWrite: '/Data Store Write' */ rtDW.COM_private_g[i] = 0U; } /* DataTypeConversion: '/Data Type Conversion' */ for (i = 0; i < 8; i++) { /* Switch: '/Switch' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read' * Gain: '/Gain' * Product: '/Divide' */ rtb_Saturation2_a = rtDW.MaxPositionCh2_private[i]; if (rtb_Saturation2_a != 0) { rtb_I_od = (double)Actuator_Ch2_Status_Model.in_CPOS_ALL[i] / (double) rtb_Saturation2_a * 100.0; } else { rtb_I_od = 0.0; } /* End of Switch: '/Switch' */ /* Saturate: '/Saturation' */ if (rtb_I_od > 100.0) { rtb_DataTypeConversion_h1[i] = 100U; } else { rtb_DataTypeConversion_h1[i] = (uint8_t)rtb_I_od; } /* End of Saturate: '/Saturation' */ } /* End of DataTypeConversion: '/Data Type Conversion' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant1' */ rtb_DataTypeConversion_h1[8] = 0U; /* DataStoreWrite: '/Data Store Write2' */ for (i = 0; i < 9; i++) { rtb_DataTypeConversion_fb[i] = rtb_DataTypeConversion_h1[i]; } /* Switch: '/Switch' incorporates: * Constant: '/Constant1' * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read2' */ if (rtDW.stepSig_private_g > 0) { rtb_y_cb = rtDW.stepSig_private_g; } else { rtb_y_cb = 1; } /* End of Switch: '/Switch' */ /* SwitchCase: '/Switch Case' */ switch (rtb_y_cb) { case 1: /* Outputs for IfAction SubSystem: '/Stop Mode' incorporates: * ActionPort: '/Action Port' */ /* If: '/If1' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreWrite: '/Data Store Write1' * SignalConversion generated from: '/Bus Selector' */ if ((Actuator_Ch2_Status_Model.Busy == 0) && (Actuator_Ch2_Status_Model.Error_Connect == 0)) { /* Outputs for IfAction SubSystem: '/If Action Subsystem2' incorporates: * ActionPort: '/Action Port' */ for (i = 0; i < 9; i++) { /* DataStoreWrite: '/Data Store Write1' */ rtDW.COM_private_k[i] = 1U; /* DataStoreWrite: '/Data Store Write' */ rtDW.MODE_private_c[i] = 2U; } /* Merge: '/Merge' incorporates: * Constant: '/Constant' * Sum: '/step inc' */ rtB.Merge_b4 = (int8_t)(rtb_y_cb + 1); /* MATLAB Function: '/Write' incorporates: * DataStoreRead: '/Data Store Read3' */ /* : if(LOGGER == 2) */ if (rtb_Divide3 == 2.0) { /* : fprintf('[LIN 3] Stop Mode\n'); */ printf("[LIN 3] Stop Mode\n"); fflush(stdout); } /* End of MATLAB Function: '/Write' */ /* End of Outputs for SubSystem: '/If Action Subsystem2' */ } else { /* Outputs for IfAction SubSystem: '/If Action Subsystem3' incorporates: * ActionPort: '/Action Port' */ /* Merge: '/Merge' incorporates: * SignalConversion generated from: '/stepIn' */ rtB.Merge_b4 = rtb_y_cb; /* End of Outputs for SubSystem: '/If Action Subsystem3' */ } /* End of If: '/If1' */ /* End of Outputs for SubSystem: '/Stop Mode' */ break; case 2: /* Outputs for IfAction SubSystem: '/Initial CPOS Min' incorporates: * ActionPort: '/Action Port' */ /* If: '/If' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreWrite: '/Data Store Write1' * SignalConversion generated from: '/Bus Selector' */ if ((Actuator_Ch2_Status_Model.Busy == 0) && (Actuator_Ch2_Status_Model.Error_Connect == 0)) { /* Outputs for IfAction SubSystem: '/If Action Subsystem' incorporates: * ActionPort: '/Action Port' */ for (i = 0; i < 9; i++) { /* DataStoreWrite: '/Data Store Write' */ rtDW.POS_private_h[i] = 6000U; /* DataStoreWrite: '/Data Store Write1' */ rtDW.COM_private_k[i] = 2U; } /* Merge: '/Merge' incorporates: * Constant: '/Constant' * Merge: '/Merge' * Sum: '/step inc' */ rtB.Merge_b4 = (int8_t)(rtb_y_cb + 1); /* MATLAB Function: '/Write' incorporates: * DataStoreRead: '/Data Store Read3' */ /* : if(LOGGER == 2) */ if (rtb_Divide3 == 2.0) { /* : fprintf('[LIN 3] Initial CPOS Min\n'); */ printf("[LIN 3] Initial CPOS Min\n"); fflush(stdout); } /* End of MATLAB Function: '/Write' */ /* End of Outputs for SubSystem: '/If Action Subsystem' */ } else { /* Outputs for IfAction SubSystem: '/If Action Subsystem3' incorporates: * ActionPort: '/Action Port' */ /* Merge: '/Merge' incorporates: * Merge: '/Merge' * SignalConversion generated from: '/stepIn1' */ rtB.Merge_b4 = rtb_y_cb; /* End of Outputs for SubSystem: '/If Action Subsystem3' */ } /* End of If: '/If' */ /* End of Outputs for SubSystem: '/Initial CPOS Min' */ break; case 3: /* Outputs for IfAction SubSystem: '/Normal Mode' incorporates: * ActionPort: '/Action Port' */ /* If: '/If1' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreWrite: '/Data Store Write1' * SignalConversion generated from: '/Bus Selector' */ if ((Actuator_Ch2_Status_Model.Busy == 0) && (Actuator_Ch2_Status_Model.Error_Connect == 0)) { /* Outputs for IfAction SubSystem: '/If Action Subsystem2' incorporates: * ActionPort: '/Action Port' */ for (i = 0; i < 9; i++) { /* DataStoreWrite: '/Data Store Write' */ rtDW.MODE_private_c[i] = 0U; /* DataStoreWrite: '/Data Store Write1' */ rtDW.COM_private_k[i] = 1U; } /* Merge: '/Merge' incorporates: * Constant: '/Constant' * Sum: '/step inc' */ rtB.Merge_b4 = (int8_t)(rtb_y_cb + 1); /* MATLAB Function: '/Write' incorporates: * DataStoreRead: '/Data Store Read3' */ /* : if(LOGGER == 2) */ if (rtb_Divide3 == 2.0) { /* : fprintf('[LIN 3] Normal Mode\n'); */ printf("[LIN 3] Normal Mode\n"); fflush(stdout); } /* End of MATLAB Function: '/Write' */ /* End of Outputs for SubSystem: '/If Action Subsystem2' */ } else { /* Outputs for IfAction SubSystem: '/If Action Subsystem3' incorporates: * ActionPort: '/Action Port' */ /* Merge: '/Merge' incorporates: * SignalConversion generated from: '/stepIn' */ rtB.Merge_b4 = rtb_y_cb; /* End of Outputs for SubSystem: '/If Action Subsystem3' */ } /* End of If: '/If1' */ /* End of Outputs for SubSystem: '/Normal Mode' */ break; case 4: /* Outputs for IfAction SubSystem: '/Move to position Min' incorporates: * ActionPort: '/Action Port' */ /* If: '/If1' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreWrite: '/Data Store Write1' * SignalConversion generated from: '/Bus Selector' */ if ((Actuator_Ch2_Status_Model.Busy == 0) && (Actuator_Ch2_Status_Model.Error_Connect == 0)) { /* Outputs for IfAction SubSystem: '/If Action Subsystem2' incorporates: * ActionPort: '/Action Port' */ for (i = 0; i < 9; i++) { /* DataStoreWrite: '/Data Store Write4' incorporates: * Constant: '/Constant1' */ rtDW.Autos_private_g[i] = 1U; /* DataStoreWrite: '/Data Store Write2' incorporates: * Constant: '/Constant10' */ rtDW.Stall_private_f[i] = 1U; /* DataStoreWrite: '/Data Store Write3' */ rtDW.Lnoise_private_g[i] = 0U; /* DataStoreWrite: '/Data Store Write5' incorporates: * Constant: '/Constant2' */ rtDW.Speed_private_b[i] = 3U; /* DataStoreWrite: '/Data Store Write6' incorporates: * Constant: '/Constant3' */ rtDW.Coils_private_l[i] = 3U; /* DataStoreWrite: '/Data Store Write' */ rtDW.POS_private_h[i] = 0U; /* DataStoreWrite: '/Data Store Write1' incorporates: * Constant: '/Constant9' */ rtDW.COM_private_k[i] = 3U; } /* Merge: '/Merge' incorporates: * Constant: '/Constant' * Sum: '/step inc' */ rtB.Merge_b4 = (int8_t)(rtb_y_cb + 1); /* MATLAB Function: '/Write' incorporates: * DataStoreRead: '/Data Store Read3' */ /* : if(LOGGER == 2) */ if (rtb_Divide3 == 2.0) { /* : fprintf('[LIN 3] Move to position Min\n'); */ printf("[LIN 3] Move to position Min\n"); fflush(stdout); } /* End of MATLAB Function: '/Write' */ /* End of Outputs for SubSystem: '/If Action Subsystem2' */ } else { /* Outputs for IfAction SubSystem: '/If Action Subsystem3' incorporates: * ActionPort: '/Action Port' */ /* Merge: '/Merge' incorporates: * SignalConversion generated from: '/stepIn' */ rtB.Merge_b4 = rtb_y_cb; /* End of Outputs for SubSystem: '/If Action Subsystem3' */ } /* End of If: '/If1' */ /* End of Outputs for SubSystem: '/Move to position Min' */ break; case 5: /* Outputs for IfAction SubSystem: '/Check Stall Min' incorporates: * ActionPort: '/Action Port' */ /* Logic: '/Logical Operator3' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read' * Logic: '/Logical Operator1' * Logic: '/Logical Operator2' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator1' */ for (i = 0; i < 8; i++) { rtb_Compare_le[i] = ((Actuator_Ch2_Status_Model.in_Act_Stall_Slave[i] == 1) || (Actuator_Ch2_Status_Model.in_CPOS_ALL[i] == 0) || (rtDW.ErrorCalibration_private_b[i] == 0)); } /* End of Logic: '/Logical Operator3' */ /* Logic: '/Logical Operator' incorporates: * Logic: '/Logical Operator3' */ rtb_Compare_ht = rtb_Compare_le[0]; for (rtb_Gain2 = 0; rtb_Gain2 < 7; rtb_Gain2++) { rtb_Compare_ht = (rtb_Compare_ht && rtb_Compare_le[rtb_Gain2 + 1]); } /* If: '/If2' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreWrite: '/Data Store Write1' * DataTypeConversion: '/Data Type Conversion' * DataTypeConversion: '/Data Type Conversion1' * Logic: '/Logical Operator' * SignalConversion generated from: '/Bus Selector' */ if ((Actuator_Ch2_Status_Model.Busy == 0) && (Actuator_Ch2_Status_Model.Error_Connect == 0) && rtb_Compare_ht) { /* Outputs for IfAction SubSystem: '/If Action Subsystem2' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write1' */ for (rtb_Gain2 = 0; rtb_Gain2 < 9; rtb_Gain2++) { /* Switch: '/Switch' incorporates: * DataStoreRead: '/Data Store Read1' */ if (rtDW.ErrorCalibration_private_b[rtb_Gain2] != 0) { rtDW.MinPositionCh2_private[rtb_Gain2] = Actuator_Ch2_Status_Model.in_CPOS_ALL[rtb_Gain2]; } /* End of Switch: '/Switch' */ } /* End of DataStoreWrite: '/Data Store Write1' */ /* Merge: '/Merge' incorporates: * Constant: '/Constant' * Sum: '/step inc' */ rtB.Merge_b4 = (int8_t)(rtb_y_cb + 1); /* MATLAB Function: '/Write' incorporates: * DataStoreRead: '/Data Store Read3' */ /* : if(LOGGER == 2) */ if (rtb_Divide3 == 2.0) { /* : fprintf('[LIN 3] Check Stall Min\n'); */ printf("[LIN 3] Check Stall Min\n"); fflush(stdout); /* : for i = 1:numel(data) */ for (i = 0; i < 9; i++) { /* : fprintf('[LIN 3] MIN = %d ', int16(data(i))); */ rtb_out_kez = Actuator_Ch2_Status_Model.in_CPOS_ALL[i]; if (rtb_out_kez > 32767) { rtb_out_kez = 32767U; } printf("[LIN 3] MIN = %d ", (int16_t)rtb_out_kez); fflush(stdout); } /* : fprintf('\n'); */ printf("\n"); fflush(stdout); } /* End of MATLAB Function: '/Write' */ /* End of Outputs for SubSystem: '/If Action Subsystem2' */ } else { /* Outputs for IfAction SubSystem: '/If Action Subsystem3' incorporates: * ActionPort: '/Action Port' */ /* Merge: '/Merge' incorporates: * SignalConversion generated from: '/stepIn' */ rtB.Merge_b4 = rtb_y_cb; /* End of Outputs for SubSystem: '/If Action Subsystem3' */ } /* End of If: '/If2' */ /* End of Outputs for SubSystem: '/Check Stall Min' */ break; case 6: /* Outputs for IfAction SubSystem: '/Initial CPOS Max' incorporates: * ActionPort: '/Action Port' */ /* If: '/If1' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreWrite: '/Data Store Write1' * SignalConversion generated from: '/Bus Selector' */ if ((Actuator_Ch2_Status_Model.Busy == 0) && (Actuator_Ch2_Status_Model.Error_Connect == 0)) { /* Outputs for IfAction SubSystem: '/If Action Subsystem2' incorporates: * ActionPort: '/Action Port' */ for (i = 0; i < 9; i++) { /* DataStoreWrite: '/Data Store Write1' */ rtDW.COM_private_k[i] = 2U; /* DataStoreWrite: '/Data Store Write' */ rtDW.POS_private_h[i] = 0U; } /* Merge: '/Merge' incorporates: * Constant: '/Constant' * Sum: '/step inc' */ rtB.Merge_b4 = (int8_t)(rtb_y_cb + 1); /* MATLAB Function: '/Write' incorporates: * DataStoreRead: '/Data Store Read3' */ /* : if(LOGGER == 2) */ if (rtb_Divide3 == 2.0) { /* : fprintf('[LIN 3] Initial CPOS Max\n'); */ printf("[LIN 3] Initial CPOS Max\n"); fflush(stdout); } /* End of MATLAB Function: '/Write' */ /* End of Outputs for SubSystem: '/If Action Subsystem2' */ } else { /* Outputs for IfAction SubSystem: '/If Action Subsystem3' incorporates: * ActionPort: '/Action Port' */ /* Merge: '/Merge' incorporates: * SignalConversion generated from: '/stepIn' */ rtB.Merge_b4 = rtb_y_cb; /* End of Outputs for SubSystem: '/If Action Subsystem3' */ } /* End of If: '/If1' */ /* End of Outputs for SubSystem: '/Initial CPOS Max' */ break; case 7: /* Outputs for IfAction SubSystem: '/Move to position Max' incorporates: * ActionPort: '/Action Port' */ /* If: '/If1' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreWrite: '/Data Store Write1' * SignalConversion generated from: '/Bus Selector' */ if ((Actuator_Ch2_Status_Model.Busy == 0) && (Actuator_Ch2_Status_Model.Error_Connect == 0)) { /* Outputs for IfAction SubSystem: '/If Action Subsystem2' incorporates: * ActionPort: '/Action Port' */ for (i = 0; i < 9; i++) { /* DataStoreWrite: '/Data Store Write4' incorporates: * Constant: '/Constant1' */ rtDW.Autos_private_g[i] = 1U; /* DataStoreWrite: '/Data Store Write2' incorporates: * Constant: '/Constant10' */ rtDW.Stall_private_f[i] = 1U; /* DataStoreWrite: '/Data Store Write3' */ rtDW.Lnoise_private_g[i] = 0U; /* DataStoreWrite: '/Data Store Write5' incorporates: * Constant: '/Constant2' */ rtDW.Speed_private_b[i] = 3U; /* DataStoreWrite: '/Data Store Write6' incorporates: * Constant: '/Constant3' */ rtDW.Coils_private_l[i] = 3U; /* DataStoreWrite: '/Data Store Write' */ rtDW.POS_private_h[i] = 6000U; /* DataStoreWrite: '/Data Store Write1' incorporates: * Constant: '/Constant9' */ rtDW.COM_private_k[i] = 3U; } /* Merge: '/Merge' incorporates: * Constant: '/Constant' * Sum: '/step inc' */ rtB.Merge_b4 = (int8_t)(rtb_y_cb + 1); /* MATLAB Function: '/Write' incorporates: * DataStoreRead: '/Data Store Read3' */ /* : if(LOGGER == 2) */ if (rtb_Divide3 == 2.0) { /* : fprintf('[LIN 3] Move to position Max\n'); */ printf("[LIN 3] Move to position Max\n"); fflush(stdout); } /* End of MATLAB Function: '/Write' */ /* End of Outputs for SubSystem: '/If Action Subsystem2' */ } else { /* Outputs for IfAction SubSystem: '/If Action Subsystem3' incorporates: * ActionPort: '/Action Port' */ /* Merge: '/Merge' incorporates: * SignalConversion generated from: '/stepIn' */ rtB.Merge_b4 = rtb_y_cb; /* End of Outputs for SubSystem: '/If Action Subsystem3' */ } /* End of If: '/If1' */ /* End of Outputs for SubSystem: '/Move to position Max' */ break; case 8: /* Outputs for IfAction SubSystem: '/Check Stall Max' incorporates: * ActionPort: '/Action Port' */ /* Logic: '/Logical Operator3' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read' * Logic: '/Logical Operator' * Logic: '/Logical Operator2' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator1' */ for (i = 0; i < 8; i++) { rtb_Compare_le[i] = ((Actuator_Ch2_Status_Model.in_Act_Stall_Slave[i] == 1) || (Actuator_Ch2_Status_Model.in_CPOS_ALL[i] == 6000) || (rtDW.ErrorCalibration_private_b[i] == 0)); } /* End of Logic: '/Logical Operator3' */ /* Logic: '/Logical Operator1' incorporates: * Logic: '/Logical Operator3' */ rtb_Compare_ht = rtb_Compare_le[0]; for (rtb_Gain2 = 0; rtb_Gain2 < 7; rtb_Gain2++) { rtb_Compare_ht = (rtb_Compare_ht && rtb_Compare_le[rtb_Gain2 + 1]); } /* If: '/If2' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreWrite: '/Data Store Write1' * DataTypeConversion: '/Data Type Conversion' * DataTypeConversion: '/Data Type Conversion1' * Logic: '/Logical Operator1' * SignalConversion generated from: '/Bus Selector' */ if ((Actuator_Ch2_Status_Model.Busy == 0) && (Actuator_Ch2_Status_Model.Error_Connect == 0) && rtb_Compare_ht) { /* Outputs for IfAction SubSystem: '/If Action Subsystem2' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write1' */ for (i = 0; i < 9; i++) { /* Switch: '/Switch' incorporates: * DataStoreRead: '/Data Store Read1' */ if (rtDW.ErrorCalibration_private_b[i] != 0) { rtDW.MaxPositionCh2_private[i] = Actuator_Ch2_Status_Model.in_CPOS_ALL[i]; } else { rtDW.MaxPositionCh2_private[i] = 0U; } /* End of Switch: '/Switch' */ } /* End of DataStoreWrite: '/Data Store Write1' */ /* Merge: '/Merge' incorporates: * Constant: '/Constant' * Sum: '/step inc' */ rtB.Merge_b4 = (int8_t)(rtb_y_cb + 1); /* MATLAB Function: '/Write' incorporates: * DataStoreRead: '/Data Store Read3' */ /* : if(LOGGER == 2) */ if (rtb_Divide3 == 2.0) { /* : fprintf('[LIN 3] Check Stall MAX\n'); */ printf("[LIN 3] Check Stall MAX\n"); fflush(stdout); /* : for i = 1:numel(data) */ for (i = 0; i < 9; i++) { /* : fprintf('[LIN 3] MAX = %d ', int16(data(i))); */ rtb_out_kez = Actuator_Ch2_Status_Model.in_CPOS_ALL[i]; if (rtb_out_kez > 32767) { rtb_out_kez = 32767U; } printf("[LIN 3] MAX = %d ", (int16_t)rtb_out_kez); fflush(stdout); } /* : fprintf('\n'); */ printf("\n"); fflush(stdout); } /* End of MATLAB Function: '/Write' */ /* End of Outputs for SubSystem: '/If Action Subsystem2' */ } else { /* Outputs for IfAction SubSystem: '/If Action Subsystem3' incorporates: * ActionPort: '/Action Port' */ /* Merge: '/Merge' incorporates: * SignalConversion generated from: '/stepIn' */ rtB.Merge_b4 = rtb_y_cb; /* End of Outputs for SubSystem: '/If Action Subsystem3' */ } /* End of If: '/If2' */ /* End of Outputs for SubSystem: '/Check Stall Max' */ break; case 9: /* Outputs for IfAction SubSystem: '/Homing' incorporates: * ActionPort: '/Action Port' */ /* Product: '/Divide1' incorporates: * Constant: '/ACT1' * DataStoreRead: '/MAX ACT1T ' */ for (i = 0; i < 8; i++) { rtb_Divide1_pb[i] = (double)rtDW.MaxPositionCh2_private[i] / (double) rtConstP.ACT1_Value_m[i]; } /* End of Product: '/Divide1' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant' */ rtb_Divide1_pb[8] = 1.0; /* SwitchCase: '/Switch Case' incorporates: * DataStoreRead: '/Data Store Read4' */ switch (rtDW.stepHoming_private_a) { case 0: /* Outputs for IfAction SubSystem: '/Switch Case Action Subsystem' incorporates: * ActionPort: '/Action Port' */ for (i = 0; i < 9; i++) { /* RelationalOperator: '/Compare' */ rtb_I_od = rtb_Divide1_pb[i]; /* Logic: '/Logical Operator' incorporates: * Constant: '/Constant' * Constant: '/Constant' * RelationalOperator: '/Compare' * RelationalOperator: '/Compare' */ Enable_Comp_PID = ((rtb_I_od >= 0.6) && (rtb_I_od <= 1.5)); rtb_LogicalOperator3_nq[i] = Enable_Comp_PID; /* DataTypeConversion: '/Data Type Conversion' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' */ rtDW.ErrorCalibration_private_b[i] = (uint8_t)((!Enable_Comp_PID) && (rtDW.ErrorCalibration_private_b[i] != 0)); } /* MATLAB Function: '/MAX POSITION' incorporates: * DataStoreRead: '/Data Store Read5' * DataStoreRead: '/MIN ACT1T 1' * Logic: '/Logical Operator2' */ /* : if(LOGGER>0) */ if (rtb_Divide3 > 0.0) { /* : fprintf("[LIN 3] Homing 0\n"); */ printf("[LIN 3] Homing 0\n"); fflush(stdout); /* : for i = 1:numel(MAX) */ for (i = 0; i < 6; i++) { /* : fprintf('[LIN 3] ACT%d MAX = %d KOEF = %f Callibration = %d \n', int16(i), int16(MAX(i)), KOEF(i), int16(ERRORS(i))); */ rtb_out_kez = rtDW.MaxPositionCh2_private[i]; if (rtb_out_kez > 32767) { rtb_out_kez = 32767U; } printf("[LIN 3] ACT%d MAX = %d KOEF = %f Callibration = %d \n", (int16_t)(i + 1), (int16_t)rtb_out_kez, rtb_Divide1_pb[i], (int16_t)!rtb_LogicalOperator3_nq[i]); fflush(stdout); } } /* End of MATLAB Function: '/MAX POSITION' */ /* Logic: '/Logical Operator1' */ rtb_Compare_ht = rtb_LogicalOperator3_nq[0]; for (rtb_Gain2 = 0; rtb_Gain2 < 8; rtb_Gain2++) { rtb_Compare_ht = (rtb_Compare_ht && rtb_LogicalOperator3_nq[rtb_Gain2 + 1]); } /* Switch: '/Switch' incorporates: * Logic: '/Logical Operator1' */ if (rtb_Compare_ht) { /* Merge: '/Merge' incorporates: * Constant: '/Constant1' */ rtB.Merge_h3 = 4; } else { /* Merge: '/Merge' incorporates: * Constant: '/Constant' */ rtB.Merge_h3 = 1; } /* End of Switch: '/Switch' */ /* End of Outputs for SubSystem: '/Switch Case Action Subsystem' */ break; case 1: /* Outputs for IfAction SubSystem: '/Switch Case Action Subsystem1' incorporates: * ActionPort: '/Action Port' */ /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' */ for (i = 0; i < 9; i++) { rtb_LogicalOperator3_nq[i] = (rtb_Divide1_pb[i] > 1.5); } /* End of RelationalOperator: '/Compare' */ /* Logic: '/Logical Operator' */ rtb_Compare_ht = rtb_LogicalOperator3_nq[0]; for (rtb_Gain2 = 0; rtb_Gain2 < 8; rtb_Gain2++) { rtb_Compare_ht = (rtb_Compare_ht || rtb_LogicalOperator3_nq[rtb_Gain2 + 1]); } /* DataTypeConversion: '/Data Type Conversion' incorporates: * DataStoreWrite: '/Data Store Write1' * Logic: '/Logical Operator' */ rtDW.CCU_ActuatorErrF_Stat_private = rtb_Compare_ht; for (i = 0; i < 9; i++) { /* DataTypeConversion: '/Data Type Conversion1' incorporates: * DataStoreWrite: '/Data Store Write2' */ Enable_Comp_PID = rtb_LogicalOperator3_nq[i]; rtDW.COM_private_k[i] = Enable_Comp_PID; /* DataTypeConversion: '/Data Type Conversion2' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write3' * Logic: '/Logical Operator1' */ rtDW.ErrorActuator_a[i] = (uint8_t)(Enable_Comp_PID || (rtDW.ErrorActuator_a[i] != 0)); /* DataStoreWrite: '/Data Store Write' */ rtDW.MODE_private_c[i] = 2U; } /* MATLAB Function: '/Write ERROR' incorporates: * DataStoreRead: '/Data Store Read6' */ /* : if(LOGGER>=0) */ if (rtb_Divide3 >= 0.0) { /* : for i = 1:numel(ErrCallibration) */ for (i = 0; i < 9; i++) { /* : if ErrCallibration(i) == 1 */ if (rtb_LogicalOperator3_nq[i]) { /* : fprintf('[LIN 3] Failure with actuator #%d\n', int16(i)); */ printf("[LIN 3] Failure with actuator #%d\n", (int16_t)(i + 1)); fflush(stdout); } } } /* End of MATLAB Function: '/Write ERROR' */ for (i = 0; i < 9; i++) { /* Logic: '/Logical Operator1' */ Enable_Comp_PID = rtb_LogicalOperator3_nq[i]; /* DataTypeConversion: '/Data Type Conversion' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' */ rtDW.ErrorCalibration_private_b[i] = (uint8_t)((!Enable_Comp_PID) && (rtDW.ErrorCalibration_private_b[i] != 0)); /* DataStoreWrite: '/Data Store Write' incorporates: * DataTypeConversion: '/Data Type Conversion' */ rtDW.dtc_state_error_model[i + 54] = Enable_Comp_PID; } /* DataStoreWrite: '/Data Store Write' incorporates: * Constant: '/Constant' */ rtDW.stepSig_private_g = 1; /* MATLAB Function: '/MAX POSITION' incorporates: * DataStoreRead: '/Data Store Read5' * DataStoreRead: '/MIN ACT1T 1' * DataStoreWrite: '/Data Store Write' */ /* : if(LOGGER>0) */ if (rtb_Divide3 > 0.0) { /* : fprintf("[LIN 3] Homing 1. Start Callibration \n"); */ printf("[LIN 3] Homing 1. Start Callibration \n"); fflush(stdout); /* : for i = 1:numel(MAX) */ for (i = 0; i < 6; i++) { /* : if(ERRORS(i)==1) */ if (rtDW.ErrorCalibration_private_b[i] == 1) { /* : fprintf('[LIN 3] ACT%d MAX = %d KOEF = %f Callibration = %d \n', int16(i), int16(MAX(i)), KOEF(i), int16(ERRORS(i))); */ rtb_out_kez = rtDW.MaxPositionCh2_private[i]; if (rtb_out_kez > 32767) { rtb_out_kez = 32767U; } printf("[LIN 3] ACT%d MAX = %d KOEF = %f Callibration = %d \n", (int16_t)(i + 1), (int16_t)rtb_out_kez, rtb_Divide1_pb[i], (int16_t)rtDW.ErrorCalibration_private_b[i]); fflush(stdout); } } } /* End of MATLAB Function: '/MAX POSITION' */ /* Logic: '/Logical Operator2' incorporates: * DataStoreWrite: '/Data Store Write' */ rtb_Compare_ht = (rtDW.ErrorCalibration_private_b[0] != 0); for (rtb_Gain2 = 0; rtb_Gain2 < 8; rtb_Gain2++) { rtb_Compare_ht = (rtb_Compare_ht || (rtDW.ErrorCalibration_private_b[rtb_Gain2 + 1] != 0)); } /* Switch: '/Switch' incorporates: * Logic: '/Logical Operator2' */ if (rtb_Compare_ht) { /* Merge: '/Merge' incorporates: * Constant: '/Constant1' */ rtB.Merge_h3 = 2; } else { /* Merge: '/Merge' incorporates: * Constant: '/Constant1' */ rtB.Merge_h3 = 4; } /* End of Switch: '/Switch' */ /* End of Outputs for SubSystem: '/Switch Case Action Subsystem1' */ break; case 2: /* Outputs for IfAction SubSystem: '/Switch Case Action Subsystem2' incorporates: * ActionPort: '/Action Port' */ for (i = 0; i < 9; i++) { /* RelationalOperator: '/Compare' */ rtb_I_od = rtb_Divide1_pb[i]; /* Logic: '/Logical Operator3' incorporates: * Constant: '/Constant' * Constant: '/Constant' * DataStoreRead: '/Data Store Read' * Logic: '/Logical Operator1' * Logic: '/Logical Operator4' * RelationalOperator: '/Compare' * RelationalOperator: '/Compare' */ Enable_Comp_PID = (((rtb_I_od < 0.97) || (rtb_I_od > 1.03)) && (rtDW.ErrorCalibration_private_b[i] != 0)); rtb_LogicalOperator3_nq[i] = Enable_Comp_PID; /* DataTypeConversion: '/Data Type Conversion' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.ErrorCalibration_private_b[i] = Enable_Comp_PID; } /* MATLAB Function: '/MAX POSITION' incorporates: * DataStoreRead: '/Data Store Read5' * DataStoreRead: '/MIN ACT1T 1' */ /* : if(LOGGER>0) */ if (rtb_Divide3 > 0.0) { /* : fprintf("[LIN 3] Homing 3. Callibration \n"); */ printf("[LIN 3] Homing 3. Callibration \n"); fflush(stdout); /* : for i = 1:numel(MAX) */ for (i = 0; i < 6; i++) { /* : if(ERRORS(i)==1) */ if (rtb_LogicalOperator3_nq[i]) { /* : fprintf('[LIN 3] ACT%d MAX = %d KOEF = %f Callibration = %d \n', int16(i), int16(MAX(i)), KOEF(i), int16(ERRORS(i))); */ rtb_out_kez = rtDW.MaxPositionCh2_private[i]; if (rtb_out_kez > 32767) { rtb_out_kez = 32767U; } printf("[LIN 3] ACT%d MAX = %d KOEF = %f Callibration = %d \n", (int16_t)(i + 1), (int16_t)rtb_out_kez, rtb_Divide1_pb[i], 1); fflush(stdout); } } } /* End of MATLAB Function: '/MAX POSITION' */ /* Logic: '/Logical Operator2' */ rtb_Compare_ht = rtb_LogicalOperator3_nq[0]; for (rtb_Gain2 = 0; rtb_Gain2 < 8; rtb_Gain2++) { rtb_Compare_ht = (rtb_Compare_ht || rtb_LogicalOperator3_nq[rtb_Gain2 + 1]); } /* Switch: '/Switch' incorporates: * Logic: '/Logical Operator2' */ if (rtb_Compare_ht) { /* Merge: '/Merge' incorporates: * Constant: '/Constant3' */ rtB.Merge_h3 = 3; } else { /* Merge: '/Merge' incorporates: * Constant: '/Constant1' */ rtB.Merge_h3 = 4; } /* End of Switch: '/Switch' */ /* End of Outputs for SubSystem: '/Switch Case Action Subsystem2' */ break; case 3: /* Outputs for IfAction SubSystem: '/Switch Case Action Subsystem3' incorporates: * ActionPort: '/Action Port' */ /* MATLAB Function: '/MAX POSITION' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read5' */ /* : if(LOGGER>1) */ if (rtb_Divide3 > 1.0) { /* : fprintf("[LIN 3] Homing 3. Start Time on step %d\n",int16(step)); */ rtb_I_od = rt_roundd(rtDW.ErrorHomming_private_m); if (rtb_I_od < 32768.0) { if (rtb_I_od >= -32768.0) { rtb_Switch2_nb = (int16_t)rtb_I_od; } else { rtb_Switch2_nb = INT16_MIN; } } else { rtb_Switch2_nb = INT16_MAX; } printf("[LIN 3] Homing 3. Start Time on step %d\n", rtb_Switch2_nb); fflush(stdout); } /* End of MATLAB Function: '/MAX POSITION' */ /* If: '/If' incorporates: * DataStoreRead: '/Data Store Read1' */ if (rtDW.ErrorHomming_private_m < 10.0) { /* Outputs for IfAction SubSystem: '/If Action Subsystem' incorporates: * ActionPort: '/Action Port' */ /* MATLAB Function: '/MATLAB Function' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read1' */ MATLABFunction(rtDW.Start_timer, rtDW.t_now, &rtb_dt_nx, &rtDW.sf_MATLABFunction_g); /* MATLAB Function: '/MAX POSITION' incorporates: * DataStoreRead: '/Data Store Read5' */ /* : if(LOGGER>1) */ if (rtb_Divide3 > 1.0) { /* : fprintf("[LIN 3] Homing 3. Start TIme dt = %d \n",int32(data)); */ rtb_Subtract = rtb_dt_nx; if (rtb_dt_nx > 2147483647U) { rtb_Subtract = 2147483647U; } printf("[LIN 3] Homing 3. Start TIme dt = %d \n", (int32_t) rtb_Subtract); fflush(stdout); } /* End of MATLAB Function: '/MAX POSITION' */ /* If: '/If' */ if (rtb_dt_nx > 3600000U) { /* Outputs for IfAction SubSystem: '/If Action Subsystem' incorporates: * ActionPort: '/Action Port' */ /* Merge: '/Merge' */ IfActionSubsystem(&rtB.Merge_h3, &rtDW.ErrorHomming_private_m, &rtDW.Start_timer, &rtDW.stepSig_private_g); /* End of Outputs for SubSystem: '/If Action Subsystem' */ } else { /* Outputs for IfAction SubSystem: '/If Action Subsystem1' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write2' incorporates: * Constant: '/Constant3' */ rtDW.Start_timer = 1.0; /* DataStoreRead: '/Data Store Read2' incorporates: * Concatenate: '/Vector Concatenate' */ rtDW.BUS_ADR_private_a[0] = rtDW.PID_TempRR; /* DataStoreRead: '/Data Store Read' incorporates: * Concatenate: '/Vector Concatenate' */ rtDW.BUS_ADR_private_a[1] = rtDW.PID_TempRL; /* DataTypeConversion: '/Data Type Conversion2' */ for (i = 0; i < 6; i++) { rtb_DataTypeConversion2_h4[i] = (uint8_t)rtb_Gain1_o3[i]; } /* End of DataTypeConversion: '/Data Type Conversion2' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Concatenate: '/Vector Concatenate' */ rtDW.BUS_ADR_private_a[2] = rtb_DataTypeConversion2_h4[0]; /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Concatenate: '/Vector Concatenate' */ rtDW.BUS_ADR_private_a[3] = rtb_DataTypeConversion2_h4[4]; /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Concatenate: '/Vector Concatenate' */ rtDW.BUS_ADR_private_a[4] = rtb_DataTypeConversion2_h4[1]; /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Concatenate: '/Vector Concatenate' */ rtDW.BUS_ADR_private_a[5] = rtb_DataTypeConversion2_h4[2]; /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Concatenate: '/Vector Concatenate' */ rtDW.BUS_ADR_private_a[6] = rtb_DataTypeConversion2_h4[5]; /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Concatenate: '/Vector Concatenate' */ rtDW.BUS_ADR_private_a[7] = rtb_DataTypeConversion2_h4[3]; /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Concatenate: '/Vector Concatenate' * Constant: '/Constant1' * SignalConversion generated from: '/Vector Concatenate' */ rtDW.BUS_ADR_private_a[8] = 0U; for (i = 0; i < 9; i++) { /* Product: '/Product' */ El_window_heating = rtDW.BUS_ADR_private_a[i]; /* DataTypeConversion: '/Data Type Conversion1' incorporates: * Constant: '/Constant1' * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write' * Product: '/Divide1' * Product: '/Product' */ rtDW.POS_private_h[i] = (uint16_t)((double)(El_window_heating * rtDW.MaxPositionCh2_private[i]) / 100.0); /* RelationalOperator: '/Relational Operator1' incorporates: * DataStoreWrite: '/Data Store Write2' */ rtb_LogicalOperator3_nq[i] = (rtb_DataTypeConversion_h1[i] == El_window_heating); } /* Logic: '/Logical Operator' */ rtb_Compare_ht = rtb_LogicalOperator3_nq[0]; for (rtb_Gain2 = 0; rtb_Gain2 < 8; rtb_Gain2++) { rtb_Compare_ht = (rtb_Compare_ht && rtb_LogicalOperator3_nq[rtb_Gain2 + 1]); } for (i = 0; i < 9; i++) { /* Switch: '/Switch' incorporates: * Constant: '/Constant4' * Constant: '/Constant9' * DataStoreWrite: '/Data Store Write1' * Logic: '/Logical Operator' */ if (rtb_Compare_ht) { rtDW.COM_private_k[i] = 0U; } else { rtDW.COM_private_k[i] = 3U; } /* End of Switch: '/Switch' */ /* DataTypeConversion: '/Data Type Conversion1' incorporates: * Concatenate: '/Vector Concatenate' * Constant: '/Constant5' * DataStoreWrite: '/Data Store Write2' * DataStoreWrite: '/Data Store Write7' * Product: '/Product' * RelationalOperator: '/Relational Operator' */ rtDW.BUS_ADR_private_a[i] = (uint8_t)((uint32_t) (rtb_DataTypeConversion_h1[i] != rtDW.BUS_ADR_private_a[i]) * rtConstP.pooled140[i]); /* DataStoreWrite: '/Data Store Write4' incorporates: * Constant: '/Constant1' */ rtDW.Autos_private_g[i] = 1U; /* DataStoreWrite: '/Data Store Write2' incorporates: * Constant: '/Constant10' */ rtDW.Stall_private_f[i] = 1U; /* DataStoreWrite: '/Data Store Write3' incorporates: * Constant: '/Constant11' */ rtDW.Lnoise_private_g[i] = 0U; /* DataStoreWrite: '/Data Store Write5' incorporates: * Constant: '/Constant2' */ rtDW.Speed_private_b[i] = 3U; /* DataStoreWrite: '/Data Store Write6' incorporates: * Constant: '/Constant3' */ rtDW.Coils_private_l[i] = 3U; } /* Merge: '/Merge' incorporates: * Constant: '/Constant1' * Merge: '/Merge' * SignalConversion generated from: '/Out1' */ rtB.Merge_h3 = 3; /* End of Outputs for SubSystem: '/If Action Subsystem1' */ } /* End of If: '/If' */ /* End of Outputs for SubSystem: '/If Action Subsystem' */ } else { /* Outputs for IfAction SubSystem: '/If Action Subsystem1' incorporates: * ActionPort: '/Action Port' */ IfActionSubsystem1(&rtB.Merge_h3, &rtDW.CCU_ActuatorErrF_Stat_private, rtDW.COM_private_k, rtDW.ErrorActuator_a, rtDW.ErrorCalibration_private_b, &rtb_Divide3, rtDW.MODE_private_c, rtDW.dtc_state_error_model); /* End of Outputs for SubSystem: '/If Action Subsystem1' */ } /* End of If: '/If' */ /* End of Outputs for SubSystem: '/Switch Case Action Subsystem3' */ break; case 4: /* Outputs for IfAction SubSystem: '/Switch Case Action Subsystem4' incorporates: * ActionPort: '/Action Port' */ /* DataStoreRead: '/Data Store Read2' incorporates: * Concatenate: '/Vector Concatenate' */ rtDW.BUS_ADR_private_a[0] = rtDW.PID_TempRR; /* DataStoreRead: '/Data Store Read' incorporates: * Concatenate: '/Vector Concatenate' */ rtDW.BUS_ADR_private_a[1] = rtDW.PID_TempRL; /* DataTypeConversion: '/Data Type Conversion2' */ for (i = 0; i < 6; i++) { rtb_DataTypeConversion2_h4[i] = (uint8_t)rtb_Gain1_o3[i]; } /* End of DataTypeConversion: '/Data Type Conversion2' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Concatenate: '/Vector Concatenate' */ rtDW.BUS_ADR_private_a[2] = rtb_DataTypeConversion2_h4[0]; /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Concatenate: '/Vector Concatenate' */ rtDW.BUS_ADR_private_a[3] = rtb_DataTypeConversion2_h4[4]; /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Concatenate: '/Vector Concatenate' */ rtDW.BUS_ADR_private_a[4] = rtb_DataTypeConversion2_h4[1]; /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Concatenate: '/Vector Concatenate' */ rtDW.BUS_ADR_private_a[5] = rtb_DataTypeConversion2_h4[2]; /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Concatenate: '/Vector Concatenate' */ rtDW.BUS_ADR_private_a[6] = rtb_DataTypeConversion2_h4[5]; /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Concatenate: '/Vector Concatenate' */ rtDW.BUS_ADR_private_a[7] = rtb_DataTypeConversion2_h4[3]; /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Concatenate: '/Vector Concatenate' * Constant: '/Constant1' * SignalConversion generated from: '/Vector Concatenate' */ rtDW.BUS_ADR_private_a[8] = 0U; for (i = 0; i < 9; i++) { /* Product: '/Product' */ El_window_heating = rtDW.BUS_ADR_private_a[i]; /* DataTypeConversion: '/Data Type Conversion1' incorporates: * Constant: '/Constant1' * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write' * Product: '/Divide1' * Product: '/Product' */ rtDW.POS_private_h[i] = (uint16_t)((double)(El_window_heating * rtDW.MaxPositionCh2_private[i]) / 100.0); /* RelationalOperator: '/Relational Operator1' incorporates: * DataStoreWrite: '/Data Store Write2' */ rtb_LogicalOperator3_nq[i] = (rtb_DataTypeConversion_h1[i] == El_window_heating); } /* Logic: '/Logical Operator' */ rtb_Compare_ht = rtb_LogicalOperator3_nq[0]; for (rtb_Gain2 = 0; rtb_Gain2 < 8; rtb_Gain2++) { rtb_Compare_ht = (rtb_Compare_ht && rtb_LogicalOperator3_nq[rtb_Gain2 + 1]); } for (i = 0; i < 9; i++) { /* Switch: '/Switch' incorporates: * Constant: '/Constant4' * Constant: '/Constant9' * DataStoreWrite: '/Data Store Write1' * Logic: '/Logical Operator' */ if (rtb_Compare_ht) { rtDW.COM_private_k[i] = 0U; } else { rtDW.COM_private_k[i] = 3U; } /* End of Switch: '/Switch' */ /* DataTypeConversion: '/Data Type Conversion1' incorporates: * Concatenate: '/Vector Concatenate' * Constant: '/Constant5' * DataStoreWrite: '/Data Store Write2' * DataStoreWrite: '/Data Store Write7' * Product: '/Product' * RelationalOperator: '/Relational Operator' */ rtDW.BUS_ADR_private_a[i] = (uint8_t)((uint32_t) (rtb_DataTypeConversion_h1[i] != rtDW.BUS_ADR_private_a[i]) * rtConstP.pooled140[i]); /* DataStoreWrite: '/Data Store Write4' incorporates: * Constant: '/Constant1' */ rtDW.Autos_private_g[i] = 1U; /* DataStoreWrite: '/Data Store Write2' incorporates: * Constant: '/Constant10' */ rtDW.Stall_private_f[i] = 1U; /* DataStoreWrite: '/Data Store Write3' incorporates: * Constant: '/Constant11' */ rtDW.Lnoise_private_g[i] = 0U; /* DataStoreWrite: '/Data Store Write5' incorporates: * Constant: '/Constant2' */ rtDW.Speed_private_b[i] = 3U; /* DataStoreWrite: '/Data Store Write6' incorporates: * Constant: '/Constant3' */ rtDW.Coils_private_l[i] = 3U; } /* Merge: '/Merge' incorporates: * Constant: '/Constant1' * SignalConversion generated from: '/step' */ rtB.Merge_h3 = 4; /* MATLAB Function: '/MAX POSITION' incorporates: * DataStoreRead: '/Data Store Read5' */ /* : if(LOGGER>0) */ if (rtb_Divide3 > 0.0) { /* : fprintf("[LIN 3] Homing. Callibration successful \n"); */ printf("[LIN 3] Homing. Callibration successful \n"); fflush(stdout); } /* End of MATLAB Function: '/MAX POSITION' */ /* End of Outputs for SubSystem: '/Switch Case Action Subsystem4' */ break; } /* End of SwitchCase: '/Switch Case' */ /* DataStoreWrite: '/Data Store Write2' */ rtDW.stepHoming_private_a = rtB.Merge_h3; /* Merge: '/Merge' incorporates: * DataStoreRead: '/Data Store Read7' */ rtB.Merge_b4 = rtDW.stepSig_private_g; /* End of Outputs for SubSystem: '/Homing' */ break; } /* End of SwitchCase: '/Switch Case' */ /* DataStoreWrite: '/Finish write stepSig' */ rtDW.stepSig_private_g = rtB.Merge_b4; /* BusCreator: '/Bus Creator' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read4' * DataStoreRead: '/Data Store Read5' * DataStoreRead: '/Data Store Read6' * DataStoreRead: '/Data Store Read7' * DataStoreRead: '/Data Store Read8' * DataStoreWrite: '/Data Store Write' */ for (i = 0; i < 9; i++) { Actuator_Ch2_Command_Model.POS[i] = rtDW.POS_private_h[i]; Actuator_Ch2_Command_Model.BUS_ADR[i] = rtDW.BUS_ADR_private_a[i]; Actuator_Ch2_Command_Model.MODE[i] = rtDW.MODE_private_c[i]; Actuator_Ch2_Command_Model.COM[i] = rtDW.COM_private_k[i]; Actuator_Ch2_Command_Model.Stall_SET[i] = rtDW.Stall_private_f[i]; Actuator_Ch2_Command_Model.Lnoise_SET[i] = rtDW.Lnoise_private_g[i]; Actuator_Ch2_Command_Model.Autos_SET[i] = rtDW.Autos_private_g[i]; Actuator_Ch2_Command_Model.Speed_SET[i] = rtDW.Speed_private_b[i]; Actuator_Ch2_Command_Model.Coils_Stop_SET[i] = rtDW.Coils_private_l[i]; } /* End of BusCreator: '/Bus Creator' */ /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read2' */ for (i = 0; i < 8; i++) { rtb_Compare_le[i] = (rtDW.ErrorCalibration_private_b[i] == 0); } /* End of RelationalOperator: '/Compare' */ /* Logic: '/Logical Operator' */ rtb_Compare_ht = rtb_Compare_le[0]; for (rtb_Gain2 = 0; rtb_Gain2 < 7; rtb_Gain2++) { rtb_Compare_ht = (rtb_Compare_ht || rtb_Compare_le[rtb_Gain2 + 1]); } /* Switch: '/Switch1' incorporates: * Constant: '/Constant' * Constant: '/Constant3' * DataStoreRead: '/Data Store Read2' * Logic: '/Logical Operator' * Product: '/Product' */ for (i = 0; i < 8; i++) { if (rtb_Compare_ht) { rtb_DataTypeConversion_h1[i] = (uint8_t)((uint32_t) rtDW.ErrorCalibration_private_b[i] * rtConstP.Constant3_Value_d[i]); } else { rtb_DataTypeConversion_h1[i] = 0U; } } /* End of Switch: '/Switch1' */ /* SignalConversion generated from: '/Vector Concatenate' incorporates: * Constant: '/Constant1' */ rtb_DataTypeConversion_h1[8] = 0U; for (i = 0; i < 9; i++) { /* DataStoreWrite: '/Data Store Write7' incorporates: * Concatenate: '/Vector Concatenate' */ rtDW.BUS_ADR_private_a[i] = rtb_DataTypeConversion_h1[i]; /* DataStoreWrite: '/Data Store Write' */ rtDW.COM_private_k[i] = 0U; } /* DataTypeConversion: '/Data Type Conversion' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read1' * DataStoreWrite: '/Data Store Write1' * Logic: '/OR2' */ rtDW.CCU_AirQualSenErr_Stat = (uint8_t) ((rtDW.LIN4_ERROR_model.in_error_connect[0] != 0) || (rtDW.LIN4_ERROR_model.Error_Connect != 0) || (rtDW.LIN4_AirQS_Stat_Model.AirQS_LinRespErr_Stat != 0) || (rtDW.LIN4_AirQS_Stat_Model.AirQS_Err_Stat != 0)); /* DataStoreWrite: '/Data Store Write11' incorporates: * DataStoreRead: '/Data Store Read2' */ rtDW.Aroma_CartridgeFlavor = rtDW.LIN4_Aroma_Stat_Model.Aroma_CartridgeFlavor_Stat; /* DataStoreWrite: '/Data Store Write12' incorporates: * DataStoreRead: '/Data Store Read2' */ rtDW.Aroma_CartridgeCapacity = rtDW.LIN4_Aroma_Stat_Model.Aroma_CartridgeCapacity_Stat; /* DataTypeConversion: '/Data Type Conversion2' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read3' * DataStoreWrite: '/Data Store Write13' * Logic: '/OR' */ rtDW.CCU_IonizationErr_Stat = (uint8_t) ((rtDW.LIN4_ERROR_model.in_error_connect[2] != 0) || (rtDW.LIN4_ERROR_model.Error_Connect != 0) || (rtDW.LIN4_Ionizer_Stat_Model.Ionizer_LinRespErr_Stat != 0) || (rtDW.LIN4_Ionizer_Stat_Model.Ionizer_Err_Stat != 0)); /* DataStoreWrite: '/Data Store Write14' incorporates: * DataStoreRead: '/Data Store Read' */ rtDW.dtc_state_error_model[41] = rtDW.LIN4_ERROR_model.Error_Connect; /* DataStoreWrite: '/Data Store Write16' incorporates: * DataStoreRead: '/Data Store Read' */ rtDW.dtc_state_error_model[44] = rtDW.LIN4_ERROR_model.Error_Connect; /* DataStoreWrite: '/Data Store Write17' incorporates: * DataStoreWrite: '/Data Store Write13' */ rtDW.dtc_state_error_model[42] = rtDW.CCU_IonizationErr_Stat; /* DataStoreWrite: '/Data Store Write18' incorporates: * DataStoreWrite: '/Data Store Write13' */ rtDW.dtc_state_error_model[43] = rtDW.CCU_IonizationErr_Stat; /* DataStoreWrite: '/Data Store Write19' incorporates: * DataStoreRead: '/Data Store Read' */ rtDW.dtc_state_error_model[49] = rtDW.LIN4_ERROR_model.Error_Connect; /* DataStoreWrite: '/Data Store Write20' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dtc_state_error_model[47] = rtDW.CCU_AirQualSenErr_Stat; /* DataStoreWrite: '/Data Store Write21' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dtc_state_error_model[48] = rtDW.CCU_AirQualSenErr_Stat; /* DataStoreWrite: '/Data Store Write22' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dtc_state_error_model[117] = rtDW.CCU_AirQualSenErr_Stat; /* DataTypeConversion: '/Data Type Conversion1' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read2' * DataStoreWrite: '/Data Store Write7' * Logic: '/OR1' */ rtDW.CCU_AromaErr_Stat = (uint8_t)((rtDW.LIN4_ERROR_model.in_error_connect[1] != 0) || (rtDW.LIN4_ERROR_model.Error_Connect != 0) || (rtDW.LIN4_Aroma_Stat_Model.Aroma_LinRespErr_Stat != 0) || (rtDW.LIN4_Aroma_Stat_Model.Aroma_Err_Stat != 0)); /* DataStoreWrite: '/Data Store Write23' incorporates: * DataStoreWrite: '/Data Store Write7' */ rtDW.dtc_state_error_model[119] = rtDW.CCU_AromaErr_Stat; /* DataStoreWrite: '/Data Store Write24' incorporates: * DataStoreWrite: '/Data Store Write13' */ rtDW.dtc_state_error_model[118] = rtDW.CCU_IonizationErr_Stat; /* DataStoreWrite: '/Data Store Write3' incorporates: * DataStoreWrite: '/Data Store Write7' */ rtDW.dtc_state_error_model[39] = rtDW.CCU_AromaErr_Stat; /* DataStoreWrite: '/Data Store Write4' incorporates: * DataStoreRead: '/Data Store Read1' */ rtDW.AirQS_COLvl = rtDW.LIN4_AirQS_Stat_Model.AirQS_COLvl_Stat; /* DataStoreWrite: '/Data Store Write5' incorporates: * DataStoreRead: '/Data Store Read1' */ rtDW.AirQS_NOxLvl = rtDW.LIN4_AirQS_Stat_Model.AirQS_NOxLvl_Stat; /* DataStoreWrite: '/Data Store Write6' incorporates: * DataStoreRead: '/Data Store Read1' */ rtDW.AirQS_NH3Lvl = rtDW.LIN4_AirQS_Stat_Model.AirQS_NH3Lvl_Stat; /* DataStoreWrite: '/Data Store Write8' incorporates: * DataStoreRead: '/Data Store Read2' */ rtDW.Aroma_CartridgeSw = rtDW.LIN4_Aroma_Stat_Model.Aroma_CartridgeSw_Stat; /* DataStoreWrite: '/Data Store Write9' incorporates: * DataStoreWrite: '/Data Store Write7' */ rtDW.dtc_state_error_model[40] = rtDW.CCU_AromaErr_Stat; /* Outputs for Enabled SubSystem: '/CHANEL4' incorporates: * EnablePort: '/Enable' */ /* DataStoreRead: '/Data Store Read1' incorporates: * RelationalOperator: '/FixPt Relational Operator' * RelationalOperator: '/FixPt Relational Operator' * RelationalOperator: '/FixPt Relational Operator' * RelationalOperator: '/FixPt Relational Operator' * RelationalOperator: '/FixPt Relational Operator' * RelationalOperator: '/FixPt Relational Operator' * RelationalOperator: '/FixPt Relational Operator' * RelationalOperator: '/FixPt Relational Operator' * UnitDelay: '/Delay Input1' * UnitDelay: '/Delay Input1' * UnitDelay: '/Delay Input1' * UnitDelay: '/Delay Input1' * UnitDelay: '/Delay Input1' * UnitDelay: '/Delay Input1' * UnitDelay: '/Delay Input1' * UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM * * Block description for '/Delay Input1': * * Store in Global RAM * * Block description for '/Delay Input1': * * Store in Global RAM * * Block description for '/Delay Input1': * * Store in Global RAM * * Block description for '/Delay Input1': * * Store in Global RAM * * Block description for '/Delay Input1': * * Store in Global RAM * * Block description for '/Delay Input1': * * Store in Global RAM * * Block description for '/Delay Input1': * * Store in Global RAM */ if (rtDW.BCM_T15_Stat > 0) { /* DataTypeConversion: '/Data Type Conversion' incorporates: * DataStoreRead: '/Data Store Read7' * DataStoreWrite: '/Data Store Write8' * Logic: '/OR' * Logic: '/OR2' * Logic: '/OR4' * Logic: '/OR6' */ rtDW.CCU_DeflectorSwErrF_Stat = (uint8_t) ((rtDW.LIN5_SENSON_ADR_Stat_model.in_error_connect[0] != 0) || (rtDW.LIN5_SENSON_ADR_Stat_model.in_error_connect[1] != 0) || (rtDW.LIN5_SENSON_ADR_Stat_model.in_error_connect[2] != 0) || (rtDW.LIN5_SENSON_ADR_Stat_model.in_error_connect[3] != 0) || ((rtDW.LIN5_SENSON_ADR_Stat_model.LinRespErr_Stat[0] != 0) || (rtDW.LIN5_SENSON_ADR_Stat_model.LinRespErr_Stat[1] != 0) || (rtDW.LIN5_SENSON_ADR_Stat_model.LinRespErr_Stat[2] != 0) || (rtDW.LIN5_SENSON_ADR_Stat_model.LinRespErr_Stat[3] != 0)) || ((rtDW.LIN5_SENSON_ADR_Stat_model.Err_Stat[0] != 0) || (rtDW.LIN5_SENSON_ADR_Stat_model.Err_Stat[1] != 0) || (rtDW.LIN5_SENSON_ADR_Stat_model.Err_Stat[2] != 0) || (rtDW.LIN5_SENSON_ADR_Stat_model.Err_Stat[3] != 0)) || (rtDW.LIN5_SENSON_ADR_Stat_model.Error_Connect != 0)); /* DataStoreWrite: '/Data Store Write10' incorporates: * DataStoreWrite: '/Data Store Write8' */ rtDW.dtc_state_error_model[45] = rtDW.CCU_DeflectorSwErrF_Stat; /* DataStoreWrite: '/Data Store Write11' incorporates: * DataStoreRead: '/Data Store Read7' */ rtDW.dtc_state_error_model[125] = rtDW.LIN5_SENSON_ADR_Stat_model.Error_Connect; /* DataTypeConversion: '/Data Type Conversion1' incorporates: * DataStoreRead: '/Data Store Read7' * DataStoreWrite: '/Data Store Write9' * Logic: '/OR1' * Logic: '/OR3' * Logic: '/OR5' * Logic: '/OR7' */ rtDW.CCU_DeflectorSwErrR_Stat = (uint8_t) ((rtDW.LIN5_SENSON_ADR_Stat_model.in_error_connect[4] != 0) || (rtDW.LIN5_SENSON_ADR_Stat_model.in_error_connect[5] != 0) || (rtDW.LIN5_SENSON_ADR_Stat_model.in_error_connect[6] != 0) || (rtDW.LIN5_SENSON_ADR_Stat_model.in_error_connect[7] != 0) || ((rtDW.LIN5_SENSON_ADR_Stat_model.LinRespErr_Stat[4] != 0) || (rtDW.LIN5_SENSON_ADR_Stat_model.LinRespErr_Stat[5] != 0) || (rtDW.LIN5_SENSON_ADR_Stat_model.LinRespErr_Stat[6] != 0) || (rtDW.LIN5_SENSON_ADR_Stat_model.LinRespErr_Stat[7] != 0)) || ((rtDW.LIN5_SENSON_ADR_Stat_model.Err_Stat[4] != 0) || (rtDW.LIN5_SENSON_ADR_Stat_model.Err_Stat[5] != 0) || (rtDW.LIN5_SENSON_ADR_Stat_model.Err_Stat[6] != 0) || (rtDW.LIN5_SENSON_ADR_Stat_model.Err_Stat[7] != 0)) || (rtDW.LIN5_SENSON_ADR_Stat_model.Error_Connect != 0)); /* DataStoreWrite: '/Data Store Write12' incorporates: * DataStoreWrite: '/Data Store Write9' */ rtDW.dtc_state_error_model[46] = rtDW.CCU_DeflectorSwErrR_Stat; /* DataStoreWrite: '/Data Store Write23' incorporates: * DataStoreRead: '/Data Store Read7' */ rtDW.dtc_state_error_model[119] = rtDW.LIN5_SENSON_ADR_Stat_model.Error_Connect; /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read7' */ Enable_Comp_PID = (rtDW.LIN5_SENSON_ADR_Stat_model.in_COUNT[0] > 0); /* Outputs for Enabled SubSystem: '/Subsystem' incorporates: * EnablePort: '/Enable' */ if ((int32_t)Enable_Comp_PID > (int32_t)rtDW.DelayInput1_DSTATE_e5) { /* Switch: '/Switch' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write' * Sum: '/Add' */ if ((int8_t)((int8_t)rtDW.DRS_SFL - 1) >= 0) { rtDW.DRS_SFL = (uint8_t)((int8_t)rtDW.DRS_SFL - 1); } else { rtDW.DRS_SFL = 3U; } /* End of Switch: '/Switch' */ } /* End of Outputs for SubSystem: '/Subsystem' */ /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read7' * RelationalOperator: '/FixPt Relational Operator' * UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM */ rtb_err = (rtDW.LIN5_SENSON_ADR_Stat_model.in_COUNT[1] > 0); /* Outputs for Enabled SubSystem: '/Subsystem1' incorporates: * EnablePort: '/Enable' */ if ((int32_t)rtb_err > (int32_t)rtDW.DelayInput1_DSTATE_k) { /* Switch: '/Switch' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write' * Sum: '/Add' */ if ((int8_t)((int8_t)rtDW.DRS_CFL - 1) >= 0) { rtDW.DRS_CFL = (uint8_t)((int8_t)rtDW.DRS_CFL - 1); } else { rtDW.DRS_CFL = 3U; } /* End of Switch: '/Switch' */ } /* End of Outputs for SubSystem: '/Subsystem1' */ /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read7' * RelationalOperator: '/FixPt Relational Operator' * UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM */ rtb_LogicalOperator6 = (rtDW.LIN5_SENSON_ADR_Stat_model.in_COUNT[2] > 0); /* Outputs for Enabled SubSystem: '/Subsystem2' incorporates: * EnablePort: '/Enable' */ if ((int32_t)rtb_LogicalOperator6 > (int32_t)rtDW.DelayInput1_DSTATE_l) { /* Switch: '/Switch' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write' * Sum: '/Add' */ if ((int8_t)((int8_t)rtDW.DRS_CFR - 1) >= 0) { rtDW.DRS_CFR = (uint8_t)((int8_t)rtDW.DRS_CFR - 1); } else { rtDW.DRS_CFR = 3U; } /* End of Switch: '/Switch' */ } /* End of Outputs for SubSystem: '/Subsystem2' */ /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read7' * RelationalOperator: '/FixPt Relational Operator' * UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM */ rtb_LogicalOperator3 = (rtDW.LIN5_SENSON_ADR_Stat_model.in_COUNT[3] > 0); /* Outputs for Enabled SubSystem: '/Subsystem3' incorporates: * EnablePort: '/Enable' */ if ((int32_t)rtb_LogicalOperator3 > (int32_t)rtDW.DelayInput1_DSTATE_kb) { /* Switch: '/Switch' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write' * Sum: '/Add' */ if ((int8_t)((int8_t)rtDW.DRS_SFR - 1) >= 0) { rtDW.DRS_SFR = (uint8_t)((int8_t)rtDW.DRS_SFR - 1); } else { rtDW.DRS_SFR = 3U; } /* End of Switch: '/Switch' */ } /* End of Outputs for SubSystem: '/Subsystem3' */ /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read7' * RelationalOperator: '/FixPt Relational Operator' * UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM */ rtb_LogicalOperator8 = (rtDW.LIN5_SENSON_ADR_Stat_model.in_COUNT[4] > 0); /* Outputs for Enabled SubSystem: '/Subsystem4' incorporates: * EnablePort: '/Enable' */ if ((int32_t)rtb_LogicalOperator8 > (int32_t)rtDW.DelayInput1_DSTATE_kk) { /* Switch: '/Switch' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write' * Sum: '/Add' */ if ((int8_t)((int8_t)rtDW.DRS_SRL - 1) >= 0) { rtDW.DRS_SRL = (uint8_t)((int8_t)rtDW.DRS_SRL - 1); } else { rtDW.DRS_SRL = 3U; } /* End of Switch: '/Switch' */ } /* End of Outputs for SubSystem: '/Subsystem4' */ /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read7' * RelationalOperator: '/FixPt Relational Operator' * UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM */ rtb_LogicalOperator3_cz = (rtDW.LIN5_SENSON_ADR_Stat_model.in_COUNT[5] > 0); /* Outputs for Enabled SubSystem: '/Subsystem5' incorporates: * EnablePort: '/Enable' */ if ((int32_t)rtb_LogicalOperator3_cz > (int32_t)rtDW.DelayInput1_DSTATE_d1) { /* Switch: '/Switch' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write' * Sum: '/Add' */ if ((int8_t)((int8_t)rtDW.DRS_SRR - 1) >= 0) { rtDW.DRS_SRR = (uint8_t)((int8_t)rtDW.DRS_SRR - 1); } else { rtDW.DRS_SRR = 3U; } /* End of Switch: '/Switch' */ } /* End of Outputs for SubSystem: '/Subsystem5' */ /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read7' * RelationalOperator: '/FixPt Relational Operator' * UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM */ rtb_LogicalOperator4_fo = (rtDW.LIN5_SENSON_ADR_Stat_model.in_COUNT[6] > 0); /* Outputs for Enabled SubSystem: '/Subsystem6' incorporates: * EnablePort: '/Enable' */ if ((int32_t)rtb_LogicalOperator4_fo > (int32_t)rtDW.DelayInput1_DSTATE_b) { /* Switch: '/Switch' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write' * Sum: '/Add' */ if ((int8_t)((int8_t)rtDW.DRS_CRL - 1) >= 0) { rtDW.DRS_CRL = (uint8_t)((int8_t)rtDW.DRS_CRL - 1); } else { rtDW.DRS_CRL = 3U; } /* End of Switch: '/Switch' */ } /* End of Outputs for SubSystem: '/Subsystem6' */ /* RelationalOperator: '/Compare' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read7' * RelationalOperator: '/FixPt Relational Operator' * UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM */ rtb_LogicalOperator6_m = (rtDW.LIN5_SENSON_ADR_Stat_model.in_COUNT[7] > 0); /* Outputs for Enabled SubSystem: '/Subsystem7' incorporates: * EnablePort: '/Enable' */ if ((int32_t)rtb_LogicalOperator6_m > (int32_t)rtDW.DelayInput1_DSTATE_i) { /* Switch: '/Switch' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write' * Sum: '/Add' */ if ((int8_t)((int8_t)rtDW.DRS_CRR - 1) >= 0) { rtDW.DRS_CRR = (uint8_t)((int8_t)rtDW.DRS_CRR - 1); } else { rtDW.DRS_CRR = 3U; } /* End of Switch: '/Switch' */ } /* End of Outputs for SubSystem: '/Subsystem7' */ /* Update for UnitDelay: '/Delay Input1' incorporates: * RelationalOperator: '/FixPt Relational Operator' * UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM * * Block description for '/Delay Input1': * * Store in Global RAM */ rtDW.DelayInput1_DSTATE_e5 = Enable_Comp_PID; /* Update for UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM */ rtDW.DelayInput1_DSTATE_k = rtb_err; /* Update for UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM */ rtDW.DelayInput1_DSTATE_l = rtb_LogicalOperator6; /* Update for UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM */ rtDW.DelayInput1_DSTATE_kb = rtb_LogicalOperator3; /* Update for UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM */ rtDW.DelayInput1_DSTATE_kk = rtb_LogicalOperator8; /* Update for UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM */ rtDW.DelayInput1_DSTATE_d1 = rtb_LogicalOperator3_cz; /* Update for UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM */ rtDW.DelayInput1_DSTATE_b = rtb_LogicalOperator4_fo; /* Update for UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM */ rtDW.DelayInput1_DSTATE_i = rtb_LogicalOperator6_m; } /* End of DataStoreRead: '/Data Store Read1' */ /* End of Outputs for SubSystem: '/CHANEL4' */ /* BusCreator: '/Bus Creator' incorporates: * DataStoreRead: '/Data Store Read82' * DataStoreWrite: '/Data Store Write32' * DataTypeConversion: '/Data Type Conversion2' */ rtDW.LIN4_CCU_Req_Model.CCU_Ionization_Req = rtDW.CCU_Ionization; rtDW.LIN4_CCU_Req_Model.CCU_AirQS_Req = rtb_RelationalOperator2_l4; rtDW.LIN4_CCU_Req_Model.CCU_fHVAC_Pos_Val = 0U; rtDW.LIN4_CCU_Req_Model.CCU_rHVAC_Pos_Val = 0U; rtDW.LIN4_CCU_Req_Model.CCU_batChiller_Pos_Val = 0U; rtDW.LIN4_CCU_Req_Model.CCU_eeChiller_Pos_Val = 0U; /* MATLAB Function: '/MATLAB Function1' incorporates: * DataStoreWrite: '/Data Store Write29' */ /* : IDLE = uint8(0); */ /* : LO_RIGHT = uint8(1); */ /* : HI_RIGHT = uint8(8); */ /* : LO_LEFT = uint8(10); */ /* : LO_BOTH = uint8(11); */ /* : LO_4ZONE = uint8(22); */ /* : HI_LEFT = uint8(80); */ /* : HI_BOTH = uint8(88); */ /* : HI_4ZONE = uint8(99); */ /* : CAN_LoHi_Front = IDLE; */ rtDW.CAN_LoHi_Front = 0U; /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write' * MATLAB Function: '/MATLAB Function1' */ /* : CAN_LoHi_Rear = IDLE; */ rtDW.dbgCAN_Logic_State_model.Logic_LoHi_Rear = 0U; /* MATLAB Function: '/MATLAB Function1' incorporates: * DataStoreRead: '/Data Store Read40' * DataStoreRead: '/Data Store Read41' * DataStoreRead: '/Data Store Read42' * DataStoreRead: '/Data Store Read61' * DataStoreWrite: '/Data Store Write29' */ /* : is_HI_4zone = (FL == 2 && FR == 2 && RL == 2 && RR == 2); */ /* : is_LO_4zone = (FL == 1 && FR == 1 && RL == 1 && RR == 1); */ Enable_Comp_PID = ((rtDW.LO_HI_MODE_FL == 1) && (rtDW.LO_HI_MODE_FR == 1) && (rtDW.LO_HI_MODE_RL == 1) && (rtDW.LO_HI_MODE_RR == 1)); /* : if is_HI_4zone */ if ((rtDW.LO_HI_MODE_FL == 2) && (rtDW.LO_HI_MODE_FR == 2) && (rtDW.LO_HI_MODE_RL == 2) && (rtDW.LO_HI_MODE_RR == 2)) { /* : CAN_LoHi_Front = HI_4ZONE; */ rtDW.CAN_LoHi_Front = 99U; /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write29' * DataStoreWrite: '/Data Store Write' */ /* : CAN_LoHi_Rear = HI_4ZONE; */ rtDW.dbgCAN_Logic_State_model.Logic_LoHi_Rear = 99U; } else { if ((rtDW.LO_HI_MODE_FL == 2) && (rtDW.LO_HI_MODE_FR == 2)) { /* : elseif FL == 2 && FR == 2 */ /* : CAN_LoHi_Front = HI_BOTH; */ rtDW.CAN_LoHi_Front = 88U; } else if (rtDW.LO_HI_MODE_FL == 2) { /* : elseif FL == 2 */ /* : CAN_LoHi_Front = HI_LEFT; */ rtDW.CAN_LoHi_Front = 80U; } else if (rtDW.LO_HI_MODE_FR == 2) { /* : elseif FR == 2 */ /* : CAN_LoHi_Front = HI_RIGHT; */ rtDW.CAN_LoHi_Front = 8U; } else if (Enable_Comp_PID) { /* : elseif is_LO_4zone */ /* : CAN_LoHi_Front = LO_4ZONE; */ rtDW.CAN_LoHi_Front = 22U; } else if ((rtDW.LO_HI_MODE_FL == 1) && (rtDW.LO_HI_MODE_FR == 1)) { /* : elseif FL == 1 && FR == 1 */ /* : CAN_LoHi_Front = LO_BOTH; */ rtDW.CAN_LoHi_Front = 11U; } else if (rtDW.LO_HI_MODE_FL == 1) { /* : elseif FL == 1 */ /* : CAN_LoHi_Front = LO_LEFT; */ rtDW.CAN_LoHi_Front = 10U; } else if (rtDW.LO_HI_MODE_FR == 1) { /* : elseif FR == 1 */ /* : CAN_LoHi_Front = LO_RIGHT; */ rtDW.CAN_LoHi_Front = 1U; } if ((rtDW.LO_HI_MODE_RL == 2) && (rtDW.LO_HI_MODE_RR == 2)) { /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write' */ /* : elseif RL == 2 && RR == 2 */ /* : CAN_LoHi_Rear = HI_BOTH; */ rtDW.dbgCAN_Logic_State_model.Logic_LoHi_Rear = 88U; } else if (rtDW.LO_HI_MODE_RL == 2) { /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write' */ /* : elseif RL == 2 */ /* : CAN_LoHi_Rear = HI_LEFT; */ rtDW.dbgCAN_Logic_State_model.Logic_LoHi_Rear = 80U; } else if (rtDW.LO_HI_MODE_RR == 2) { /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write' */ /* : elseif RR == 2 */ /* : CAN_LoHi_Rear = HI_RIGHT; */ rtDW.dbgCAN_Logic_State_model.Logic_LoHi_Rear = 8U; } else if (Enable_Comp_PID) { /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write' */ /* : elseif is_LO_4zone */ /* : CAN_LoHi_Rear = LO_4ZONE; */ rtDW.dbgCAN_Logic_State_model.Logic_LoHi_Rear = 22U; } else if ((rtDW.LO_HI_MODE_RL == 1) && (rtDW.LO_HI_MODE_RR == 1)) { /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write' */ /* : elseif RL == 1 && RR == 1 */ /* : CAN_LoHi_Rear = LO_BOTH; */ rtDW.dbgCAN_Logic_State_model.Logic_LoHi_Rear = 11U; } else if (rtDW.LO_HI_MODE_RL == 1) { /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write' */ /* : elseif RL == 1 */ /* : CAN_LoHi_Rear = LO_LEFT; */ rtDW.dbgCAN_Logic_State_model.Logic_LoHi_Rear = 10U; } else if (rtDW.LO_HI_MODE_RR == 1) { /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write' */ /* : elseif RR == 1 */ /* : CAN_LoHi_Rear = LO_RIGHT; */ rtDW.dbgCAN_Logic_State_model.Logic_LoHi_Rear = 1U; } } /* Switch: '/Switch7' incorporates: * Constant: '/Constant17' * Constant: '/Constant18' * Constant: '/Constant19' * Constant: '/Constant5' * DataStoreRead: '/Data Store Read5' * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read5' * DataStoreRead: '/Data Store Read6' * DataStoreRead: '/Data Store Read7' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator16' * RelationalOperator: '/Relational Operator3' * RelationalOperator: '/Relational Operator4' * RelationalOperator: '/Relational Operator5' * Sum: '/Subtract' * Switch: '/Switch4' * Switch: '/Switch5' * Switch: '/Switch6' */ /* : if is_HI_4zone */ if (rtDW.leaving == 2.0) { rtb_P_f = 1.0; rtb_I_od = 1.0; rtb_output_h = 1.0; rtb_Add_p4 = 1.0; } else { rtb_P_f = (rtDW.CCU_AmbTempSensErr_Stat == 0); rtb_I_od = (rtb_Switch6_c < 50); rtb_output_h = ((int16_t)(rtDW.AMB - rtb_Switch6_c) > 150); rtb_Add_p4 = (index_start > 50.0); } /* End of Switch: '/Switch7' */ /* Switch: '/Switch3' incorporates: * Constant: '/Constant12' * Constant: '/Constant13' * Constant: '/Constant14' * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read4' * DataStoreRead: '/Data Store Read76' * DataStoreWrite: '/Data Store Write' * DataStoreWrite: '/Data Store Write1' * Logic: '/AND' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator10' * RelationalOperator: '/Relational Operator11' * RelationalOperator: '/Relational Operator13' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator6' * RelationalOperator: '/Relational Operator9' * Sum: '/Subtract1' * Switch: '/Switch1' */ if ((rtb_P_f != 0.0) && (rtDW.BCM_T15_Stat == 1) && (rtDW.Mode_FL == 1) && (rtb_I_od != 0.0) && (rtb_output_h != 0.0) && (rtb_Add_p4 != 0.0) && (rtDW.CCU_AC_MAX != 1) && (rtDW.t_now - rtDW.timer < 600000U) && (rtDW.start_control_finished_front == 0) && (g_assAUTODEMIST_STEP_UP[0] < 0)) { /* Switch: '/Switch' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read1' * RelationalOperator: '/Relational Operator12' * RelationalOperator: '/Compare' */ if (rtDW.timer <= 0U) { /* DataStoreWrite: '/Data Store Write' */ rtDW.timer = rtDW.t_now; } /* End of Switch: '/Switch' */ rtDW.leaving = 2.0; } else { rtDW.timer = 0U; rtDW.leaving = 0.0; } /* End of Switch: '/Switch3' */ /* Outputs for Atomic SubSystem: '/MAX DEF' */ /* MATLAB Function: '/MATLAB Function1' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read4' * DataStoreWrite: '/Data Store Write33' */ /* : exit_condition = false; */ rtb_RelationalOperator2_l4 = false; /* : if isempty(DRS_array_persistent) */ if (!rtDW.DRS_array_persistent_not_empty) { /* : DRS_array_persistent = DRS_array; */ for (i = 0; i < 8; i++) { rtDW.DRS_array_persistent[i] = rtY.DRS_output[i]; } rtDW.DRS_array_persistent_not_empty = true; } /* : if isempty(FIU_CCU1_model_persistent) */ if (!rtDW.FIU_CCU1_model_persistent_not_empty) { /* : FIU_CCU1_model_persistent = FIU_CCU1_model; */ rtDW.FIU_CCU1_model_persistent = rtDW.FIU_CCU1_MODEL; rtDW.FIU_CCU1_model_persistent_not_empty = true; } /* : if ~isequal(DRS_array, DRS_array_persistent) */ Enable_Comp_PID = false; rtb_err = true; rtb_Gain2 = 0; exitg1 = false; while ((!exitg1) && (rtb_Gain2 < 8)) { if (rtY.DRS_output[rtb_Gain2] != rtDW.DRS_array_persistent[rtb_Gain2]) { rtb_err = false; exitg1 = true; } else { rtb_Gain2++; } } if (rtb_err) { Enable_Comp_PID = true; } if (!Enable_Comp_PID) { /* : exit_condition = true; */ rtb_RelationalOperator2_l4 = true; } /* : if ~isequal(FIU_CCU1_model, FIU_CCU1_model_persistent) */ if (!isequal(rtDW.FIU_CCU1_MODEL, rtDW.FIU_CCU1_model_persistent)) { /* : exit_condition = true; */ rtb_RelationalOperator2_l4 = true; } /* : if defButton == 0 */ if (rtDW.CCU_Defrost == 0) { /* : exit_condition = true; */ rtb_RelationalOperator2_l4 = true; } /* : DRS_array_persistent = DRS_array; */ for (i = 0; i < 8; i++) { rtDW.DRS_array_persistent[i] = rtY.DRS_output[i]; } /* : FIU_CCU1_model_persistent = FIU_CCU1_model; */ rtDW.FIU_CCU1_model_persistent = rtDW.FIU_CCU1_MODEL; /* End of MATLAB Function: '/MATLAB Function1' */ /* Lookup_n-D: '/Max_blower_speed' incorporates: * DataStoreRead: '/Data Store Read2' */ rtb_Saturation2_a = look1_is16lu64n32tu16_binlcse(rtDW.ECT, rtConstP.Max_blower_speed_bp01Data, &g_ausMAX_BLR_SPD[0], 5U); /* MATLAB Function: '/MATLAB Function' incorporates: * DataStoreWrite: '/Data Store Write3' * DataStoreWrite: '/Data Store Write5' * DataStoreWrite: '/Data Store Write6' */ /* : if isempty(is_active_persistent) */ /* : flu_duct_target = int16(0); */ rtDW.Max_def_FLU_duct_tg = 0; /* : fru_duct_target = int16(0); */ /* : fl_blower_af = uint16(0); */ rtDW.Max_def_FL_blower_AF = 0U; /* : fr_blower_af = uint16(0); */ rtDW.Max_def_FR_blower_AF = 0U; /* Switch: '/Switch1' incorporates: * DataStoreWrite: '/Data Store Write7' * MATLAB Function: '/MATLAB Function' */ /* : OSA_valve = uint8(0); */ rtDW.Max_def_OSA_valve = 0U; /* Switch: '/Switch2' incorporates: * DataStoreWrite: '/Data Store Write8' * MATLAB Function: '/MATLAB Function' */ /* : REC_valve = uint8(0); */ rtDW.Max_def_Rec_valve = 0U; /* MATLAB Function: '/MATLAB Function' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read8' * DataStoreWrite: '/Data Store Write' * DataStoreWrite: '/Data Store Write3' * DataStoreWrite: '/Data Store Write5' * DataStoreWrite: '/Data Store Write6' * DataStoreWrite: '/Data Store Write9' * Logic: '/Logical Operator2' * Logic: '/Logical Operator' * Lookup_n-D: '/Max_Def_U_Dtg' */ /* : Foot_Temp_Corr_FL = int16(0); */ rtDW.Max_def_ind_foot_corr_FL = 0; /* Outputs for Atomic SubSystem: '/Autodemist (all-season mode and winter mode)' */ /* : Foot_Temp_Corr_FR = int16(0); */ /* : if entry_conditions_max_defrost == true && is_active_persistent == false */ if ((rtb_Compare_h2 || rtb_Compare_bu || (rtDW.CCU_Defrost != 0)) && (!rtDW.is_active_persistent)) { /* : is_active_persistent = true; */ rtDW.is_active_persistent = true; } /* End of Outputs for SubSystem: '/Autodemist (all-season mode and winter mode)' */ /* : if exit_conditions_max_defrost == true && is_active_persistent == true */ if (rtb_RelationalOperator2_l4 && rtDW.is_active_persistent) { /* : is_active_persistent = false; */ rtDW.is_active_persistent = false; } /* : if is_active_persistent */ if (rtDW.is_active_persistent) { /* : Foot_Temp_Corr_FL = int16(0); */ rtDW.Max_def_ind_foot_corr_FL = 0; /* : Foot_Temp_Corr_FR = int16(0); */ /* : flu_duct_target = Max_Def_U_Dtg; */ rtDW.Max_def_FLU_duct_tg = look1_is16lu64n32Ds32_binlcs(rtDW.AMB, rtConstP.Max_Def_U_Dtg_bp01Data, &g_assMAX_DEF_U_DTG[0], 9U); /* : fru_duct_target = Max_Def_U_Dtg; */ /* : fl_blower_af = Max_blower_speed; */ rtDW.Max_def_FL_blower_AF = rtb_Saturation2_a; /* : fr_blower_af = Max_blower_speed; */ rtDW.Max_def_FR_blower_AF = rtb_Saturation2_a; /* Switch: '/Switch1' incorporates: * DataStoreRead: '/Data Store Read8' * DataStoreWrite: '/Data Store Write3' * DataStoreWrite: '/Data Store Write5' * DataStoreWrite: '/Data Store Write6' * DataStoreWrite: '/Data Store Write7' * Lookup_n-D: '/Max_Def_U_Dtg' */ /* : OSA_valve = uint8(100); */ rtDW.Max_def_OSA_valve = 100U; /* Switch: '/Switch2' incorporates: * DataStoreWrite: '/Data Store Write8' */ /* : REC_valve = uint8(0); */ rtDW.Max_def_Rec_valve = 0U; } /* : is_active = is_active_persistent; */ rtDW.Max_def_algo_active = rtDW.is_active_persistent; /* End of Outputs for SubSystem: '/MAX DEF' */ /* DataTypeConversion: '/Data Type Conversion' incorporates: * DataStoreWrite: '/Data Store Write' * DataStoreWrite: '/Data Store Write1' */ rtDW.CCU_Defrost = rtDW.Max_def_algo_active; /* Gain: '/Gain17' incorporates: * DataStoreRead: '/Data Store Read44' * Sum: '/Minus' * UnitDelay: '/Unit Delay' */ rtb_Gain17 = (double)(rtDW.t_now - rtDW.UnitDelay_DSTATE_l) * 0.0010000000002037268; /* MATLAB Function: '/MATLAB Function1' incorporates: * Constant: '/Constant26' * Constant: '/Constant29' * Constant: '/Constant36' * Constant: '/Constant41' * Constant: '/Constant98' * DataStoreRead: '/Data Store Read17' * DataStoreRead: '/Data Store Read33' * DataTypeConversion: '/Data Type Conversion32' * DataTypeConversion: '/Data Type Conversion33' */ MATLABFunction_m((double)Duct_FLU_Tg, (double)rtb_X, rtb_Gain17, (double) g_assPID_VALVE_FRONT_UP[0] / 100.0, (double) g_assPID_VALVE_FRONT_UP[1] / 1000.0, (double) g_assPID_VALVE_FRONT_UP[2] / 100.0, (double) g_assPID_VALVE_FRONT_UP[3] / 10.0, (double) g_assPID_VALVE_FRONT_UP[4] / 10.0, &rtb_I_od, &rtb_Divide1_jg, &rtb_Divide3, &rtb_Divide7, &rtDW.sf_MATLABFunction1_l); /* Switch: '/Switch12' incorporates: * Constant: '/Constant1' * Constant: '/Constant97' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read76' * DataStoreWrite: '/Data Store Write12' * RelationalOperator: '/Relational Operator2' * Switch: '/Switch' */ if (rtDW.CCU_AC_MAX > 0) { rtDW.PID_TempFUL = 0U; } else if (rtDW.LO_HI_MODE_FL == 1) { /* DataStoreWrite: '/Data Store Write12' incorporates: * Constant: '/Constant' * Switch: '/Switch' */ rtDW.PID_TempFUL = 0U; } else { /* DataTypeConversion: '/Data Type Conversion26' incorporates: * Switch: '/Switch' */ rtb_Divide = fabs(rtb_I_od); if (rtb_Divide < 4.503599627370496E+15) { if (rtb_Divide >= 0.5) { rtb_I_od = floor(rtb_I_od + 0.5); } else { rtb_I_od = 0.0; } } /* Saturate: '/Saturation9' incorporates: * DataTypeConversion: '/Data Type Conversion26' * Switch: '/Switch' */ if ((uint8_t)rtb_I_od <= 100) { /* DataStoreWrite: '/Data Store Write12' */ rtDW.PID_TempFUL = (uint8_t)rtb_I_od; } else { /* DataStoreWrite: '/Data Store Write12' */ rtDW.PID_TempFUL = 100U; } /* End of Saturate: '/Saturation9' */ } /* End of Switch: '/Switch12' */ /* MATLAB Function: '/MATLAB Function3' incorporates: * Constant: '/Constant101' * Constant: '/Constant102' * Constant: '/Constant42' * Constant: '/Constant86' * Constant: '/Constant87' * DataStoreRead: '/Data Store Read34' * DataStoreRead: '/Data Store Read37' * DataTypeConversion: '/Data Type Conversion37' * DataTypeConversion: '/Data Type Conversion38' */ MATLABFunction_m((double)rtb_y_he, (double)rtb_Bias1_h, rtb_Gain17, (double) g_assPID_VALVE_FRONT_LOW[0] / 100.0, (double) g_assPID_VALVE_FRONT_LOW[1] / 1000.0, (double) g_assPID_VALVE_FRONT_LOW[2] / 100.0, (double) g_assPID_VALVE_FRONT_LOW[3] / 10.0, (double) g_assPID_VALVE_FRONT_LOW[4] / 10.0, &rtb_I_od, &rtb_Divide6, &rtb_Divide8, &rtb_Divide10, &rtDW.sf_MATLABFunction3); /* Switch: '/Switch14' incorporates: * Constant: '/Constant1' * Constant: '/Constant97' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read76' * DataStoreWrite: '/Data Store Write13' * RelationalOperator: '/Relational Operator2' * Switch: '/Switch' */ if (rtDW.CCU_AC_MAX > 0) { rtDW.PID_TempFRL = 0U; } else if (rtDW.LO_HI_MODE_FR == 1) { /* DataStoreWrite: '/Data Store Write13' incorporates: * Constant: '/Constant' * Switch: '/Switch' */ rtDW.PID_TempFRL = 0U; } else { /* DataTypeConversion: '/Data Type Conversion27' incorporates: * Switch: '/Switch' */ rtb_Divide = fabs(rtb_I_od); if (rtb_Divide < 4.503599627370496E+15) { if (rtb_Divide >= 0.5) { rtb_I_od = floor(rtb_I_od + 0.5); } else { rtb_I_od = 0.0; } } /* Saturate: '/Saturation11' incorporates: * DataTypeConversion: '/Data Type Conversion27' * Switch: '/Switch' */ if ((uint8_t)rtb_I_od <= 100) { /* DataStoreWrite: '/Data Store Write13' */ rtDW.PID_TempFRL = (uint8_t)rtb_I_od; } else { /* DataStoreWrite: '/Data Store Write13' */ rtDW.PID_TempFRL = 100U; } /* End of Saturate: '/Saturation11' */ } /* End of Switch: '/Switch14' */ /* MATLAB Function: '/MATLAB Function2' incorporates: * Constant: '/Constant100' * Constant: '/Constant43' * Constant: '/Constant55' * Constant: '/Constant85' * Constant: '/Constant99' * DataStoreRead: '/Data Store Read35' * DataStoreRead: '/Data Store Read36' * DataTypeConversion: '/Data Type Conversion35' * DataTypeConversion: '/Data Type Conversion36' */ MATLABFunction_m((double)rtb_y_ds, (double)rtb_MultiportSwitch_ac, rtb_Gain17, (double)g_assPID_VALVE_FRONT_LOW[0] / 100.0, (double) g_assPID_VALVE_FRONT_LOW[1] / 1000.0, (double) g_assPID_VALVE_FRONT_LOW[2] / 100.0, (double) g_assPID_VALVE_FRONT_LOW[3] / 10.0, (double) g_assPID_VALVE_FRONT_LOW[4] / 10.0, &rtb_I_od, &rtb_Divide11, &rtb_I_g, &rtb_D_my, &rtDW.sf_MATLABFunction2); /* Switch: '/Switch13' incorporates: * Constant: '/Constant1' * Constant: '/Constant97' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read76' * DataStoreWrite: '/Data Store Write14' * RelationalOperator: '/Relational Operator2' * Switch: '/Switch' */ if (rtDW.CCU_AC_MAX > 0) { rtDW.PID_TempFLL = 0U; } else if (rtDW.LO_HI_MODE_FL == 1) { /* DataStoreWrite: '/Data Store Write14' incorporates: * Constant: '/Constant' * Switch: '/Switch' */ rtDW.PID_TempFLL = 0U; } else { /* DataTypeConversion: '/Data Type Conversion28' incorporates: * Switch: '/Switch' */ rtb_Divide = fabs(rtb_I_od); if (rtb_Divide < 4.503599627370496E+15) { if (rtb_Divide >= 0.5) { rtb_I_od = floor(rtb_I_od + 0.5); } else { rtb_I_od = 0.0; } } /* Saturate: '/Saturation10' incorporates: * DataTypeConversion: '/Data Type Conversion28' * Switch: '/Switch' */ if ((uint8_t)rtb_I_od <= 100) { /* DataStoreWrite: '/Data Store Write14' */ rtDW.PID_TempFLL = (uint8_t)rtb_I_od; } else { /* DataStoreWrite: '/Data Store Write14' */ rtDW.PID_TempFLL = 100U; } /* End of Saturate: '/Saturation10' */ } /* End of Switch: '/Switch13' */ /* MATLAB Function: '/MATLAB Function5' incorporates: * Constant: '/Constant105' * Constant: '/Constant106' * Constant: '/Constant88' * Constant: '/Constant92' * Constant: '/Constant93' * DataStoreRead: '/Data Store Read38' * DataStoreRead: '/Data Store Read41' * DataTypeConversion: '/Data Type Conversion41' * DataTypeConversion: '/Data Type Conversion42' */ MATLABFunction_m((double)rtDW.Duct_RR_Tg, (double)rtb_Switch3_no, rtb_Gain17, (double)g_assPID_VALVE_REAR[0] / 100.0, (double) g_assPID_VALVE_REAR[1] / 1000.0, (double)g_assPID_VALVE_REAR [2] / 100.0, (double)g_assPID_VALVE_REAR[3] / 10.0, (double) g_assPID_VALVE_REAR[4] / 10.0, &rtb_output_h, &rtb_P_f, &rtb_I_od, &rtb_D, &rtDW.sf_MATLABFunction5); /* Switch: '/Switch' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * DataStoreRead: '/Data Store Read1' * DataStoreWrite: '/Data Store Write15' * RelationalOperator: '/Relational Operator2' */ if (rtDW.LO_HI_MODE_RR == 1) { rtDW.PID_TempRR = 0U; } else { /* DataTypeConversion: '/Data Type Conversion30' */ rtb_Divide = fabs(rtb_output_h); if (rtb_Divide < 4.503599627370496E+15) { if (rtb_Divide >= 0.5) { rtb_output_h = floor(rtb_output_h + 0.5); } else { rtb_output_h = 0.0; } } /* Saturate: '/Saturation13' incorporates: * DataTypeConversion: '/Data Type Conversion30' */ if ((uint8_t)rtb_output_h <= 100) { rtDW.PID_TempRR = (uint8_t)rtb_output_h; } else { rtDW.PID_TempRR = 100U; } /* End of Saturate: '/Saturation13' */ } /* End of Switch: '/Switch' */ /* MATLAB Function: '/MATLAB Function4' incorporates: * Constant: '/Constant103' * Constant: '/Constant104' * Constant: '/Constant89' * Constant: '/Constant90' * Constant: '/Constant91' * DataStoreRead: '/Data Store Read39' * DataStoreRead: '/Data Store Read40' * DataTypeConversion: '/Data Type Conversion39' * DataTypeConversion: '/Data Type Conversion40' */ MATLABFunction_m((double)rtb_Merge_b, (double)rtb_Switch1_f, rtb_Gain17, (double)g_assPID_VALVE_REAR[0] / 100.0, (double) g_assPID_VALVE_REAR[1] / 1000.0, (double)g_assPID_VALVE_REAR [2] / 100.0, (double)g_assPID_VALVE_REAR[3] / 10.0, (double) g_assPID_VALVE_REAR[4] / 10.0, &rtb_D_la, &rtb_output_h, &rtb_I, &rtb_D_m, &rtDW.sf_MATLABFunction4); /* Switch: '/Switch' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * DataStoreRead: '/Data Store Read1' * DataStoreWrite: '/Data Store Write16' * RelationalOperator: '/Relational Operator2' */ if (rtDW.LO_HI_MODE_RL == 1) { rtDW.PID_TempRL = 0U; } else { /* DataTypeConversion: '/Data Type Conversion31' */ rtb_Divide = fabs(rtb_D_la); if (rtb_Divide < 4.503599627370496E+15) { if (rtb_Divide >= 0.5) { rtb_D_la = floor(rtb_D_la + 0.5); } else { rtb_D_la = 0.0; } } /* Saturate: '/Saturation12' incorporates: * DataTypeConversion: '/Data Type Conversion31' */ if ((uint8_t)rtb_D_la <= 100) { rtDW.PID_TempRL = (uint8_t)rtb_D_la; } else { rtDW.PID_TempRL = 100U; } /* End of Saturate: '/Saturation12' */ } /* End of Switch: '/Switch' */ /* MATLAB Function: '/MATLAB Function' incorporates: * Constant: '/Constant27' * Constant: '/Constant28' * Constant: '/Constant94' * Constant: '/Constant95' * Constant: '/Constant96' * DataStoreRead: '/Data Store Read42' * DataStoreRead: '/Data Store Read43' * DataTypeConversion: '/Data Type Conversion' * DataTypeConversion: '/Data Type Conversion29' */ MATLABFunction_m((double)Duct_FRU_Tg, (double)rtb_MultiportSwitch_cq, rtb_Gain17, (double)g_assPID_VALVE_FRONT_UP[0] / 100.0, (double)g_assPID_VALVE_FRONT_UP[1] / 1000.0, (double) g_assPID_VALVE_FRONT_UP[2] / 100.0, (double) g_assPID_VALVE_FRONT_UP[3] / 10.0, (double) g_assPID_VALVE_FRONT_UP[4] / 10.0, &rtb_output_cv, &rtb_P_h, &rtb_Add_p4, &rtb_D_la, &rtDW.sf_MATLABFunction_m); /* Switch: '/Switch11' incorporates: * Constant: '/Constant1' * Constant: '/Constant97' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read76' * DataStoreWrite: '/Data Store Write17' * RelationalOperator: '/Relational Operator2' * Switch: '/Switch' */ if (rtDW.CCU_AC_MAX > 0) { rtDW.PID_TempFUR = 0U; } else if (rtDW.LO_HI_MODE_FR == 1) { /* DataStoreWrite: '/Data Store Write17' incorporates: * Constant: '/Constant' * Switch: '/Switch' */ rtDW.PID_TempFUR = 0U; } else { /* DataTypeConversion: '/Data Type Conversion34' incorporates: * Switch: '/Switch' */ rtb_Divide = fabs(rtb_output_cv); if (rtb_Divide < 4.503599627370496E+15) { if (rtb_Divide >= 0.5) { rtb_output_cv = floor(rtb_output_cv + 0.5); } else { rtb_output_cv = 0.0; } } /* Saturate: '/Saturation14' incorporates: * DataTypeConversion: '/Data Type Conversion34' * Switch: '/Switch' */ if ((uint8_t)rtb_output_cv <= 100) { /* DataStoreWrite: '/Data Store Write17' */ rtDW.PID_TempFUR = (uint8_t)rtb_output_cv; } else { /* DataStoreWrite: '/Data Store Write17' */ rtDW.PID_TempFUR = 100U; } /* End of Saturate: '/Saturation14' */ } /* End of Switch: '/Switch11' */ /* Gain: '/Gain16' */ rtb_Gain17 = 10.0 * rtb_Add_p4; /* Product: '/Divide' incorporates: * Constant: '/Constant' * DataStoreRead: '/Data Store Read6' * DataStoreRead: '/Data Store Read7' * Sum: '/Add' */ rtb_Divide = (double)(int16_t)((uint32_t)rtb_Saturation_as + Gain1) / 4.0; /* Switch: '/Switch' */ if (rtb_Divide > 0.0) { /* Saturate: '/Saturation2' */ if (rtb_Divide > 80.0) { /* DataTypeConversion: '/Data Type Conversion1' incorporates: * DataStoreWrite: '/Data Store Write2' */ rtDW.PWM_front = 80U; } else if (rtb_Divide < 15.0) { /* DataTypeConversion: '/Data Type Conversion1' incorporates: * DataStoreWrite: '/Data Store Write2' */ rtDW.PWM_front = 15U; } else { /* DataTypeConversion: '/Data Type Conversion1' incorporates: * DataStoreWrite: '/Data Store Write2' */ rtDW.PWM_front = (uint8_t)rtb_Divide; } /* End of Saturate: '/Saturation2' */ } else { /* DataTypeConversion: '/Data Type Conversion1' incorporates: * Constant: '/Constant1' * DataStoreWrite: '/Data Store Write2' */ rtDW.PWM_front = 0U; } /* End of Switch: '/Switch' */ /* Product: '/Divide1' incorporates: * Constant: '/Constant2' * MATLAB Function: '/RL AF * percent DRS' * MATLAB Function: '/RR AF * percent DRS' * Sum: '/Add1' */ rtb_Divide = (double)(int16_t)((uint32_t)rtb_out_ihi + rtb_out_m44) / 4.0; /* Switch: '/Switch1' */ if (rtb_Divide > 0.0) { /* Saturate: '/Saturation1' */ if (rtb_Divide > 80.0) { /* DataTypeConversion: '/Data Type Conversion2' incorporates: * DataStoreWrite: '/Data Store Write3' */ rtDW.PWM_rear = 80U; } else if (rtb_Divide < 15.0) { /* DataTypeConversion: '/Data Type Conversion2' incorporates: * DataStoreWrite: '/Data Store Write3' */ rtDW.PWM_rear = 15U; } else { /* DataTypeConversion: '/Data Type Conversion2' incorporates: * DataStoreWrite: '/Data Store Write3' */ rtDW.PWM_rear = (uint8_t)rtb_Divide; } /* End of Saturate: '/Saturation1' */ } else { /* DataTypeConversion: '/Data Type Conversion2' incorporates: * Constant: '/Constant3' * DataStoreWrite: '/Data Store Write3' */ rtDW.PWM_rear = 0U; } /* End of Switch: '/Switch1' */ /* Switch: '/Switch2' incorporates: * DataStoreRead: '/Data Store Read64' * Switch: '/Switch3' */ if (rtDW.BCM_T15_Stat > 0) { /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write' * DataStoreWrite: '/Data Store Write2' * DataStoreWrite: '/Data Store Write3' */ PWM_Get.pwmPercentFront = rtDW.PWM_front; PWM_Get.pwmPercentRear = rtDW.PWM_rear; } else { /* BusCreator: '/Bus Creator' incorporates: * Constant: '/Constant5' * Constant: '/Constant6' * DataStoreWrite: '/Data Store Write' */ PWM_Get.pwmPercentFront = 0U; PWM_Get.pwmPercentRear = 0U; } /* End of Switch: '/Switch2' */ /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write' */ PWM_Get.pwmPercentFrontReserved = 0U; PWM_Get.pwmPercentRearReserved = 0U; /* BusCreator: '/Bus Creator1' incorporates: * DataStoreRead: '/Data Store Read51' * DataStoreRead: '/Data Store Read52' * DataStoreRead: '/Data Store Read53' * DataStoreRead: '/Data Store Read54' * DataStoreRead: '/Data Store Read56' * DataStoreRead: '/Data Store Read57' * DataStoreRead: '/Data Store Read58' * DataStoreRead: '/Data Store Read59' * DataStoreRead: '/Data Store Read60' * DataStoreRead: '/Data Store Read61' * DataStoreRead: '/Data Store Read62' * DataStoreRead: '/Data Store Read63' * DataStoreRead: '/Data Store Read64' * DataStoreRead: '/Data Store Read65' * DataStoreRead: '/Data Store Read66' * DataStoreRead: '/Data Store Read67' * DataStoreWrite: '/Data Store Write27' * DataStoreWrite: '/Data Store Write8' * DataTypeConversion: '/Data Type Conversion1' * DataTypeConversion: '/Data Type Conversion2' * DataTypeConversion: '/Data Type Conversion3' * DataTypeConversion: '/Data Type Conversion4' * Logic: '/Logical Operator2' * Logic: '/Logical Operator3' * Logic: '/Logical Operator4' * Logic: '/Logical Operator5' */ /* : if(LOGGER) */ rtDW.PowerEnable_Model.SW5V_EN = rtDW.SW5V_EN; rtDW.PowerEnable_Model.PBATT_CK_EN = rtDW.PBATT_CK_EN; rtDW.PowerEnable_Model.Incar_Motor_Front_EN = rtDW.Incar_Motor_Front_EN; rtDW.PowerEnable_Model.Incar_Motor_Rear_EN = rtDW.Incar_Motor_Rear_EN; rtDW.PowerEnable_Model.TwoWayValve_EN = (uint8_t)(rtB.Cmd_2Way == 0); rtDW.PowerEnable_Model.ReservePower_EN = rtDW.ReservePower_EN; rtDW.PowerEnable_Model.PtcRelayDriver1_EN = rtDW.PtcRelayDriver1_EN; rtDW.PowerEnable_Model.PtcRelayDriver2_EN = rtDW.PtcRelayDriver2_EN; rtDW.PowerEnable_Model.ShutOffFront_EN = (uint8_t)(ShutOffFront_EN == 0); rtDW.PowerEnable_Model.ShutOffRear_EN = (uint8_t)(ShutOffRear_EN == 0); rtDW.PowerEnable_Model.EN_ReservePower = rtDW.EN_ReservePower; rtDW.PowerEnable_Model.LIN_ActPower_AB = rtDW.LIN_ActPower_AB; rtDW.PowerEnable_Model.LIN_ActPower_C = rtDW.LIN_ActPower_C; rtDW.PowerEnable_Model.ShutOffTXV1_EN = rtDW.ShutOffTXV1_EN; rtDW.PowerEnable_Model.ShutOffTXV2_EN = rtDW.ShutOffTXV2_EN; rtDW.PowerEnable_Model.EN_BATTChiller = (uint8_t)(EN_BATTChiller == 0); rtDW.PowerEnable_Model.EN_PowerReserve = rtDW.EN_PowerReserve; /* SwitchCase: '/Incar Motors' incorporates: * Constant: '/Constant' * Constant: '/Constant' * Constant: '/Constant' * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read2' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * RelationalOperator: '/Compare' * RelationalOperator: '/Compare' * RelationalOperator: '/Compare' */ if ((rtDW.BCM_T15_Stat != 0) && ((rtDW.CCU_BLOWERS_RL != 0) || (rtDW.CCU_BLOWERS_RR != 0))) { /* Outputs for IfAction SubSystem: '/Subsystem2' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write2' incorporates: * Constant: '/Constant' */ rtDW.Incar_Motor_Front_EN = 1U; /* DataStoreWrite: '/Data Store Write3' incorporates: * Constant: '/Constant' */ rtDW.Incar_Motor_Rear_EN = 1U; /* End of Outputs for SubSystem: '/Subsystem2' */ } else { /* Outputs for IfAction SubSystem: '/Subsystem' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write2' incorporates: * Constant: '/Constant' */ rtDW.Incar_Motor_Front_EN = 0U; /* DataStoreWrite: '/Data Store Write3' incorporates: * Constant: '/Constant' */ rtDW.Incar_Motor_Rear_EN = 0U; /* End of Outputs for SubSystem: '/Subsystem' */ } /* End of SwitchCase: '/Incar Motors' */ /* BusCreator: '/Bus Creator1' incorporates: * Constant: '/Constant10' * Constant: '/Constant6' * Constant: '/Constant7' * Constant: '/Constant8' * Constant: '/Constant9' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read11' * DataStoreRead: '/Data Store Read12' * DataStoreRead: '/Data Store Read13' * DataStoreRead: '/Data Store Read15' * DataStoreRead: '/Data Store Read17' * DataStoreRead: '/Data Store Read19' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read4' * DataStoreRead: '/Data Store Read5' * DataStoreRead: '/Data Store Read6' * DataStoreRead: '/Data Store Read7' * DataStoreRead: '/Data Store Read8' * DataStoreRead: '/Data Store Read9' * DataStoreWrite: '/Data Store Write6' * DataStoreWrite: '/Data Store Write1' */ rtDW.dbgCAN_dbg_Sen_Duct_model.dbg_Sen_Duct_MultMsg_Idx = 0U; rtDW.dbgCAN_dbg_Sen_Duct_model.dbg_Sen_Duct_FL_Fb_Select = 0U; rtDW.dbgCAN_dbg_Sen_Duct_model.dbg_Sen_Duct_RR_Fb_Select = 0U; rtDW.dbgCAN_dbg_Sen_Duct_model.dbg_Sen_Duct_RL_Fb_Select = 0U; rtDW.dbgCAN_dbg_Sen_Duct_model.dbg_Sen_Duct_FR_Fb_Select = 0U; rtDW.dbgCAN_dbg_Sen_Duct_model.dbg_Sen_Duct_RL_Tgt_ro = rtb_Merge_b; rtDW.dbgCAN_dbg_Sen_Duct_model.dbg_Sen_Duct_FR_Upper_Tgt_ro = Duct_FRU_Tg; rtDW.dbgCAN_dbg_Sen_Duct_model.dbg_Sen_Duct_RR_Tgt_ro = rtDW.Duct_RR_Tg; rtDW.dbgCAN_dbg_Sen_Duct_model.dbg_Sen_Duct_FL_Upper_Tgt_ro = Duct_FLU_Tg; rtDW.dbgCAN_dbg_Sen_Duct_model.dbg_Sen_Duct_RR_Fb_ro = rtb_Switch3_no; rtDW.dbgCAN_dbg_Sen_Duct_model.dbg_Sen_Duct_RL_Fb_ro = rtb_Switch1_f; rtDW.dbgCAN_dbg_Sen_Duct_model.dbg_Sen_Duct_FR_Upper_Fb_ro = rtb_MultiportSwitch_cq; rtDW.dbgCAN_dbg_Sen_Duct_model.dbg_Sen_Duct_FL_Upper_Fb_ro = rtb_X; rtDW.dbgCAN_dbg_Sen_Duct_model.dbg_Sen_Duct_FR_Side_Fb_ro = rtb_DataTypeConversion_dl; rtDW.dbgCAN_dbg_Sen_Duct_model.dbg_Sen_Duct_FL_Side_Fb_ro = rtb_FLU_tg_correct_ot; rtDW.dbgCAN_dbg_Sen_Duct_model.dbg_Sen_Duct_RL_Side_Fb_ro = rtb_Switch4_f5; rtDW.dbgCAN_dbg_Sen_Duct_model.dbg_Sen_Duct_RR_Side_Fb_ro = rtb_Switch5_l; rtDW.dbgCAN_dbg_Sen_Duct_model.dbg_Sen_Duct_FR_Lower_Tgt_ro = rtb_y_he; rtDW.dbgCAN_dbg_Sen_Duct_model.dbg_Sen_Duct_FL_Lower_Tgt_ro = rtb_y_ds; rtDW.dbgCAN_dbg_Sen_Duct_model.dbg_Sen_Duct_FR_Lower_Fb_ro = rtb_Bias1_h; rtDW.dbgCAN_dbg_Sen_Duct_model.dbg_Sen_Duct_FL_Lower_Fb_ro = rtb_MultiportSwitch_ac; /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write' */ rtDW.dbg_Logic_Valve_Plus_model.dbg_Auto_Valve_Plus_Vent_SFL_ro = 0; rtDW.dbg_Logic_Valve_Plus_model.dbg_Auto_Valve_Plus_Vent_CFL_ro = 0; rtDW.dbg_Logic_Valve_Plus_model.dbg_Auto_Valve_Plus_Foot_FL_ro = 0; rtDW.dbg_Logic_Valve_Plus_model.dbg_Auto_Valve_Plus_Vent_SFR_ro = 0; rtDW.dbg_Logic_Valve_Plus_model.dbg_Auto_Valve_Plus_Vent_CFR_ro = 0; rtDW.dbg_Logic_Valve_Plus_model.dbg_Auto_Valve_Plus_Foot_FR_ro = 0; /* Saturate: '/Saturation' incorporates: * DataStoreRead: '/Data Store Read3' */ if (rtDW.CCU_SET_FR > 310) { rtb_out_kez = 310U; } else if (rtDW.CCU_SET_FR < 155) { rtb_out_kez = 155U; } else { rtb_out_kez = rtDW.CCU_SET_FR; } /* BusCreator: '/Bus Creator' incorporates: * Bias: '/Bias' * DataStoreWrite: '/Data Store Write' * DataTypeConversion: '/Data Type Conversion' * Gain: '/Gain' * Gain: '/Gain1' * Saturate: '/Saturation' */ rtDW.dbgCAN_CCU_IO_model.dbg_SetTemp_FR_ro = (uint8_t)((0.10000038146972656 * (double)rtb_out_kez - 16.0) * 2.0); /* Saturate: '/Saturation' incorporates: * DataStoreRead: '/Data Store Read4' */ if (rtDW.CCU_SET_RL > 310) { rtb_out_kez = 310U; } else if (rtDW.CCU_SET_RL < 155) { rtb_out_kez = 155U; } else { rtb_out_kez = rtDW.CCU_SET_RL; } /* BusCreator: '/Bus Creator' incorporates: * Bias: '/Bias' * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read53' * DataStoreRead: '/Data Store Read54' * DataStoreRead: '/Data Store Read6' * DataStoreWrite: '/Data Store Write27' * DataStoreWrite: '/Data Store Write' * DataTypeConversion: '/Data Type Conversion' * Gain: '/Gain' * Gain: '/Gain1' * Saturate: '/Saturation' */ rtDW.dbgCAN_CCU_IO_model.dbg_SetTemp_RL_ro = (uint8_t)((0.10000038146972656 * (double)rtb_out_kez - 16.0) * 2.0); rtDW.dbgCAN_CCU_IO_model.dbg_IO_Txv_F = ShutOffFront_EN; rtDW.dbgCAN_CCU_IO_model.dbg_IO_Txv_R = ShutOffRear_EN; rtDW.dbgCAN_CCU_IO_model.dbg_IO_Txv_Ch = EN_BATTChiller; rtDW.dbgCAN_CCU_IO_model.dbg_IO_2WayValve = rtB.Cmd_2Way; rtDW.dbgCAN_CCU_IO_model.dbg_IO_IncarMotor_F = rtDW.Incar_Motor_Front_EN; rtDW.dbgCAN_CCU_IO_model.dbg_IO_IncarMotor_R = rtDW.Incar_Motor_Rear_EN; /* Saturate: '/Saturation' incorporates: * DataStoreRead: '/Data Store Read2' */ if (rtDW.CCU_SET_FL > 310) { rtb_out_kez = 310U; } else if (rtDW.CCU_SET_FL < 155) { rtb_out_kez = 155U; } else { rtb_out_kez = rtDW.CCU_SET_FL; } /* BusCreator: '/Bus Creator' incorporates: * Bias: '/Bias' * DataStoreWrite: '/Data Store Write' * DataTypeConversion: '/Data Type Conversion' * Gain: '/Gain' * Gain: '/Gain1' * Saturate: '/Saturation' */ rtDW.dbgCAN_CCU_IO_model.dbg_SetTemp_FL_ro = (uint8_t)((0.10000038146972656 * (double)rtb_out_kez - 16.0) * 2.0); /* Saturate: '/Saturation' incorporates: * DataStoreRead: '/Data Store Read5' */ if (rtDW.CCU_SET_RR > 310) { rtb_out_kez = 310U; } else if (rtDW.CCU_SET_RR < 155) { rtb_out_kez = 155U; } else { rtb_out_kez = rtDW.CCU_SET_RR; } /* BusCreator: '/Bus Creator' incorporates: * Bias: '/Bias' * DataStoreWrite: '/Data Store Write' * DataTypeConversion: '/Data Type Conversion' * Gain: '/Gain' * Gain: '/Gain1' * Saturate: '/Saturation' */ rtDW.dbgCAN_CCU_IO_model.dbg_SetTemp_RR_ro = (uint8_t)((0.10000038146972656 * (double)rtb_out_kez - 16.0) * 2.0); rtDW.dbgCAN_CCU_IO_model.dbg_IO_Input_Emergency = 0U; rtDW.dbgCAN_CCU_IO_model.dbg_IO_Input_FireExtinguisher = 0U; rtDW.dbgCAN_CCU_IO_model.dbg_IO_Install_Sealing_Valve = 0U; /* BusCreator: '/Bus Creator' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read4' * DataStoreRead: '/Data Store Read5' * DataStoreRead: '/Data Store Read6' * DataStoreRead: '/Data Store Read7' * DataStoreWrite: '/Data Store Write' */ rtDW.dbg_Drs_t_model.dbg_Drs_0_SFL_DL = rtDW.DRS_SFL; rtDW.dbg_Drs_t_model.dbg_Drs_1_CFL_FPL = rtDW.DRS_CFL; rtDW.dbg_Drs_t_model.dbg_Drs_2_CFR_FPR = rtDW.DRS_CFR; rtDW.dbg_Drs_t_model.dbg_Drs_3_SFR_DR = rtDW.DRS_SFR; rtDW.dbg_Drs_t_model.dbg_Drs_4_SRL_RLB = rtDW.DRS_SRL; rtDW.dbg_Drs_t_model.dbg_Drs_5_CRL_FCL = rtDW.DRS_CRL; rtDW.dbg_Drs_t_model.dbg_Drs_6_CRR_FCR = rtDW.DRS_CRR; rtDW.dbg_Drs_t_model.dbg_Drs_7_SRR_RRB = rtDW.DRS_SRR; /* BusCreator: '/Bus Creator' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read5' * DataStoreRead: '/Data Store Read6' * DataStoreRead: '/Data Store Read7' * DataStoreWrite: '/Data Store Write' * DataStoreWrite: '/Data Store Write2' * DataStoreWrite: '/Data Store Write25' * DataStoreWrite: '/Data Store Write26' * DataStoreWrite: '/Data Store Write' */ rtDW.dbg_LIN_AirQS_Stat_t_model.LIN_AirQS_LinRespErr_Stat = rtDW.LIN4_AirQS_Stat_Model.AirQS_LinRespErr_Stat; rtDW.dbg_LIN_AirQS_Stat_t_model.LIN_AirQualSen_Stat = rtDW.LIN4_AirQS_Stat_Model.AirQS_Sens_Stat; rtDW.dbg_LIN_AirQS_Stat_t_model.LIN_AirQualSenCombined_Val = rtDW.LIN4_AirQS_Stat_Model.AirQS_Combined_Stat; rtDW.dbg_LIN_AirQS_Stat_t_model.LIN_AirQualSen_Error_Stat = rtDW.LIN4_AirQS_Stat_Model.AirQS_Err_Stat; rtDW.dbg_LIN_AirQS_Stat_t_model.LIN_AirQualSenCOlvl_Val = rtDW.AirQS_COLvl; rtDW.dbg_LIN_AirQS_Stat_t_model.LIN_AirQualSenNOxlvl_Val = rtDW.AirQS_NOxLvl; rtDW.dbg_LIN_AirQS_Stat_t_model.LIN_AirQualSenNH3lvl_Val = rtDW.AirQS_NH3Lvl; /* BusCreator: '/Bus Creator' incorporates: * DataStoreRead: '/Data Store Read2' * DataStoreWrite: '/Data Store Write27' * DataStoreWrite: '/Data Store Write28' * DataStoreWrite: '/Data Store Write' */ rtDW.dbg_LIN_Aroma_Stat_t_model.LIN_AromaLinRespErr_Stat = rtDW.LIN4_Aroma_Stat_Model.Aroma_LinRespErr_Stat; rtDW.dbg_LIN_Aroma_Stat_t_model.LIN_Aroma_1CartridgeSw = 0U; rtDW.dbg_LIN_Aroma_Stat_t_model.LIN_Aroma_2CartridgeSw = 0U; rtDW.dbg_LIN_Aroma_Stat_t_model.LIN_Aroma_3CartridgeSw = 0U; rtDW.dbg_LIN_Aroma_Stat_t_model.LIN_Aroma_Error_Stat = rtDW.LIN4_Aroma_Stat_Model.Aroma_Err_Stat; rtDW.dbg_LIN_Aroma_Stat_t_model.LIN_Aroma_Intens = 0U; rtDW.dbg_LIN_Aroma_Stat_t_model.LIN_Aroma_CartridgeSel = 0U; rtDW.dbg_LIN_Aroma_Stat_t_model.LIN_Aroma_1CartridgeFlavor = 0U; rtDW.dbg_LIN_Aroma_Stat_t_model.LIN_Aroma_2CartridgeFlavor = 0U; rtDW.dbg_LIN_Aroma_Stat_t_model.LIN_Aroma_3CartridgeFlavor = 0U; rtDW.dbg_LIN_Aroma_Stat_t_model.LIN_Aroma_1CartridgeCapacity = 0U; rtDW.dbg_LIN_Aroma_Stat_t_model.LIN_Aroma_2CartridgeCapacity = 0U; rtDW.dbg_LIN_Aroma_Stat_t_model.LIN_Aroma_3CartridgeCapacity = 0U; /* BusCreator: '/Bus Creator' incorporates: * DataStoreRead: '/Data Store Read3' * DataStoreWrite: '/Data Store Write15' * DataStoreWrite: '/Data Store Write29' * DataStoreWrite: '/Data Store Write30' * DataStoreWrite: '/Data Store Write' */ rtDW.dbg_LIN_Ionizer_Stat_t_model.LIN_Ionizer_Err_Stat = rtDW.LIN4_Ionizer_Stat_Model.Ionizer_LinRespErr_Stat; rtDW.dbg_LIN_Ionizer_Stat_t_model.LIN_Ionizer_LinRespErr = rtDW.LIN4_Ionizer_Stat_Model.Ionizer_Err_Stat; rtDW.dbg_LIN_Ionizer_Stat_t_model.LIN_Ionizer_Ionization = rtDW.LIN4_Ionizer_Stat_Model.Ionizer_Ionization_Stat; /* MATLAB Function: '/MATLAB Function' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read1' */ MATLABFunction_o(WinterCondition_is_active_F, WinterCondition_eTXV_ON_Front, &rtb_DataTypeConversion2_au); /* MATLAB Function: '/MATLAB Function' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read1' */ MATLABFunction_o(WinterCondition_is_active_R, WinterCondition_eTXV_ON_Rear, &rtb_DataTypeConversion3_it); /* BusCreator: '/Bus Creator' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read4' * DataStoreRead: '/Data Store Read55' * DataStoreRead: '/Data Store Read7' * DataStoreWrite: '/Data Store Write' * DataStoreWrite: '/Data Store Write' * DataTypeConversion: '/Data Type Conversion2' */ rtDW.dbg_Logic_Ac_model.Logic_Ac_Req_Front = rtDW.CCU_AC_FRONT; rtDW.dbg_Logic_Ac_model.Logic_Ac_Txv_Front = ShutOffFront_EN; rtDW.dbg_Logic_Ac_model.Logic_Ac_Txv_Rear = ShutOffRear_EN; rtDW.dbg_Logic_Ac_model.Logic_Ac_Req_Rear = rtDW.CCU_AC_REAR; rtDW.dbg_Logic_Ac_model.Logic_Ac_Req_Chiller = rtDW.eCompChiller_Req; rtDW.dbg_Logic_Ac_model.Logic_Ac_Txv_Chiller = EN_BATTChiller; rtDW.dbg_Logic_Ac_model.Logic_Ac_EvaCtrl = rtB.Eva_Ctrl; rtDW.dbg_Logic_Ac_model.Logic_Ac_Comp_EmrStop_Reason = eComp_stop; /* Switch: '/Switch4' */ if (rtB.Chiller_Only_Flag > 0.0) { /* BusCreator: '/Bus Creator' incorporates: * Constant: '/Constant' * DataStoreWrite: '/Data Store Write' */ rtDW.dbg_Logic_Ac_model.Logic_Ac_Comp_LimitRpm_ro = g_ucAC_EXTRA_RPM; } else { /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write' */ rtDW.dbg_Logic_Ac_model.Logic_Ac_Comp_LimitRpm_ro = Comp_Max_RPM_Allowed; } /* End of Switch: '/Switch4' */ /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write' */ rtDW.dbg_Logic_Ac_model.Logic_Ac_Txv_Closed_bySen = 0U; rtDW.dbg_Logic_Ac_model.Logic_Ac_WinterSts_Front = rtb_DataTypeConversion2_au; rtDW.dbg_Logic_Ac_model.Logic_Ac_WinterSts_Rear = rtb_DataTypeConversion3_it; /* BusCreator: '/Bus Creator' incorporates: * DataStoreRead: '/Data Store Read2' * DataStoreWrite: '/Data Store Write' * DataStoreWrite: '/Data Store Write3' */ rtDW.dbgCAN_Logic_Rec_model.Logic_Rec_Idx = rtDW.Full_Rec; rtDW.dbgCAN_Logic_Rec_model.Logic_Rec_Partial_Winter = 0U; rtDW.dbgCAN_Logic_Rec_model.Logic_Rec_Partial_Summer = rtb_DataTypeConversion1_nc; rtDW.dbgCAN_Logic_Rec_model.Logic_Rec_FreshAirPurge_Sts = 0U; /* BusCreator: '/Bus Creator' incorporates: * Constant: '/Constant' * Constant: '/Constant1' * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read4' * DataStoreWrite: '/Data Store Write' * Sum: '/Sum' * Sum: '/Sum1' */ rtDW.dbgCAN_Logic_State_model.Logic_Operation_Mode = 0U; rtDW.dbgCAN_Logic_State_model.Logic_Amb_Level = rtDW.LEVEL; rtDW.dbgCAN_Logic_State_model.Logic_AutoDemist_Electric = 0U; rtDW.dbgCAN_Logic_State_model.Logic_AutoDemist_Garage = 0U; rtDW.dbgCAN_Logic_State_model.Logic_RemoteStart = 0U; rtDW.dbgCAN_Logic_State_model.Logic_Rest_Mode = 0U; rtDW.dbgCAN_Logic_State_model.Logic_LoHi_Front = rtDW.CAN_LoHi_Front; rtDW.dbgCAN_Logic_State_model.Logic_2WayValve_Status = 0U; rtDW.dbgCAN_Logic_State_model.Logic_Full_Auto_FL = 0U; rtDW.dbgCAN_Logic_State_model.Logic_Full_Auto_FR = 0U; rtDW.dbgCAN_Logic_State_model.Logic_Full_Auto_RL = 0U; rtDW.dbgCAN_Logic_State_model.Logic_Full_Auto_RR = 0U; rtDW.dbgCAN_Logic_State_model.Logic_Full_MaxAc = 0U; rtDW.dbgCAN_Logic_State_model.Logic_Full_MaxDef = 0U; rtDW.dbgCAN_Logic_State_model.Logic_Start_Ctrl_Front = (uint8_t) (rtDW.step_start_controle_front + 1); rtDW.dbgCAN_Logic_State_model.Logic_Start_Ctrl_Rear = (uint8_t) (rtDW.step_start_controle_rear + 1); rtDW.dbgCAN_Logic_State_model.Logic_Valve_Use_DiffBlr_R2 = 0U; rtDW.dbgCAN_Logic_State_model.Logic_Duct_WaitCorrection_FRL = 0U; rtDW.dbgCAN_Logic_State_model.Logic_Duct_WaitCorrection_FLL = 0U; rtDW.dbgCAN_Logic_State_model.Logic_AF_WaitCorrection_FL = 0U; rtDW.dbgCAN_Logic_State_model.Logic_AF_WaitCorrection_FR = 0U; /* BusCreator: '/Bus Creator' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write' */ rtDW.dbg_Logic_Valve_model.Logic_Valve_Index_FL = rtDW.ModeIndex[0]; rtDW.dbg_Logic_Valve_model.Logic_Valve_Index_FR = rtDW.ModeIndex[1]; rtDW.dbg_Logic_Valve_model.Logic_Valve_Index_RL = rtDW.ModeIndex[2]; rtDW.dbg_Logic_Valve_model.Logic_Valve_Index_RR = rtDW.ModeIndex[3]; rtDW.dbg_Logic_Valve_model.Logic_Valve_Direction_FL = 0U; rtDW.dbg_Logic_Valve_model.Logic_Valve_Direction_FR = 0U; rtDW.dbg_Logic_Valve_model.Logic_Valve_Direction_RL = 0U; rtDW.dbg_Logic_Valve_model.Logic_Valve_Direction_RR = 0U; /* Bias: '/Add Constant3' incorporates: * Gain: '/Gain18' */ rtb_Divide1_jg = 10.0 * rtb_Divide1_jg + 2048.0; /* Saturate: '/Saturation19' */ if (rtb_Divide1_jg > 4095.0) { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.P_FUL = 4095U; } else if (rtb_Divide1_jg < 0.0) { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.P_FUL = 0U; } else { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.P_FUL = (uint16_t)rtb_Divide1_jg; } /* End of Saturate: '/Saturation19' */ /* Bias: '/Add Constant4' incorporates: * Gain: '/Gain19' */ rtb_Divide1_jg = 10.0 * rtb_Divide3 + 2048.0; /* Saturate: '/Saturation17' */ if (rtb_Divide1_jg > 4095.0) { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.I_FUL = 4095U; } else if (rtb_Divide1_jg < 0.0) { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.I_FUL = 0U; } else { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.I_FUL = (uint16_t)rtb_Divide1_jg; } /* End of Saturate: '/Saturation17' */ /* Bias: '/Add Constant5' incorporates: * Gain: '/Gain20' */ rtb_Divide1_jg = 10.0 * rtb_Divide7 + 2048.0; /* Saturate: '/Saturation18' */ if (rtb_Divide1_jg > 4095.0) { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.D_FUL = 4095U; } else if (rtb_Divide1_jg < 0.0) { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.D_FUL = 0U; } else { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.D_FUL = (uint16_t)rtb_Divide1_jg; } /* End of Saturate: '/Saturation18' */ /* Bias: '/Add Constant' incorporates: * Gain: '/Gain15' */ rtb_Divide1_jg = 10.0 * rtb_P_h + 2048.0; /* Saturate: '/Saturation8' */ if (rtb_Divide1_jg > 4095.0) { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.P_FUR = 4095U; } else if (rtb_Divide1_jg < 0.0) { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.P_FUR = 0U; } else { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.P_FUR = (uint16_t)rtb_Divide1_jg; } /* End of Saturate: '/Saturation8' */ /* Saturate: '/Saturation15' incorporates: * Bias: '/Add Constant1' */ if (rtb_Gain17 + 2048.0 > 4095.0) { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.I_FUR = 4095U; } else if (rtb_Gain17 + 2048.0 < 0.0) { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.I_FUR = 0U; } else { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.I_FUR = (uint16_t)(rtb_Gain17 + 2048.0); } /* End of Saturate: '/Saturation15' */ /* Bias: '/Add Constant2' incorporates: * Gain: '/Gain17' */ rtb_Divide1_jg = 10.0 * rtb_D_la + 2048.0; /* Saturate: '/Saturation16' */ if (rtb_Divide1_jg > 4095.0) { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.D_FUR = 4095U; } else if (rtb_Divide1_jg < 0.0) { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.D_FUR = 0U; } else { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.D_FUR = (uint16_t)rtb_Divide1_jg; } /* End of Saturate: '/Saturation16' */ /* Bias: '/Add Constant6' incorporates: * Gain: '/Gain21' */ rtb_Divide1_jg = 10.0 * rtb_Divide11 + 2048.0; /* Saturate: '/Saturation22' */ if (rtb_Divide1_jg > 4095.0) { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.P_FLL = 4095U; } else if (rtb_Divide1_jg < 0.0) { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.P_FLL = 0U; } else { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.P_FLL = (uint16_t)rtb_Divide1_jg; } /* End of Saturate: '/Saturation22' */ /* Bias: '/Add Constant7' incorporates: * Gain: '/Gain22' */ rtb_Divide1_jg = 10.0 * rtb_I_g + 2048.0; /* Saturate: '/Saturation20' */ if (rtb_Divide1_jg > 4095.0) { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.I_FLL = 4095U; } else if (rtb_Divide1_jg < 0.0) { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.I_FLL = 0U; } else { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.I_FLL = (uint16_t)rtb_Divide1_jg; } /* End of Saturate: '/Saturation20' */ /* Bias: '/Add Constant8' incorporates: * Gain: '/Gain23' */ rtb_Divide1_jg = 10.0 * rtb_D_my + 2048.0; /* Saturate: '/Saturation21' */ if (rtb_Divide1_jg > 4095.0) { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.D_FLL = 4095U; } else if (rtb_Divide1_jg < 0.0) { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.D_FLL = 0U; } else { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.D_FLL = (uint16_t)rtb_Divide1_jg; } /* End of Saturate: '/Saturation21' */ /* Bias: '/Add Constant9' incorporates: * Gain: '/Gain24' */ rtb_Divide1_jg = 10.0 * rtb_Divide6 + 2048.0; /* Saturate: '/Saturation25' */ if (rtb_Divide1_jg > 4095.0) { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.P_FRL = 4095U; } else if (rtb_Divide1_jg < 0.0) { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.P_FRL = 0U; } else { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.P_FRL = (uint16_t)rtb_Divide1_jg; } /* End of Saturate: '/Saturation25' */ /* Bias: '/Add Constant10' incorporates: * Gain: '/Gain25' */ rtb_Divide1_jg = 10.0 * rtb_Divide8 + 2048.0; /* Saturate: '/Saturation23' */ if (rtb_Divide1_jg > 4095.0) { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.I_FRL = 4095U; } else if (rtb_Divide1_jg < 0.0) { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.I_FRL = 0U; } else { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.I_FRL = (uint16_t)rtb_Divide1_jg; } /* End of Saturate: '/Saturation23' */ /* Bias: '/Add Constant11' incorporates: * Gain: '/Gain26' */ rtb_Divide1_jg = 10.0 * rtb_Divide10 + 2048.0; /* Saturate: '/Saturation24' */ if (rtb_Divide1_jg > 4095.0) { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.D_FRL = 4095U; } else if (rtb_Divide1_jg < 0.0) { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.D_FRL = 0U; } else { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.D_FRL = (uint16_t)rtb_Divide1_jg; } /* End of Saturate: '/Saturation24' */ /* Bias: '/Add Constant14' incorporates: * Gain: '/Gain27' */ rtb_Divide1_jg = 10.0 * rtb_output_h + 2048.0; /* Saturate: '/Saturation28' */ if (rtb_Divide1_jg > 4095.0) { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.P_RL = 4095U; } else if (rtb_Divide1_jg < 0.0) { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.P_RL = 0U; } else { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.P_RL = (uint16_t)rtb_Divide1_jg; } /* End of Saturate: '/Saturation28' */ /* Bias: '/Add Constant12' incorporates: * Gain: '/Gain28' */ rtb_Divide1_jg = 10.0 * rtb_I + 2048.0; /* Saturate: '/Saturation26' */ if (rtb_Divide1_jg > 4095.0) { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.I_RL = 4095U; } else if (rtb_Divide1_jg < 0.0) { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.I_RL = 0U; } else { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.I_RL = (uint16_t)rtb_Divide1_jg; } /* End of Saturate: '/Saturation26' */ /* Bias: '/Add Constant13' incorporates: * Gain: '/Gain29' */ rtb_Divide1_jg = 10.0 * rtb_D_m + 2048.0; /* Saturate: '/Saturation27' */ if (rtb_Divide1_jg > 4095.0) { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.D_RL = 4095U; } else if (rtb_Divide1_jg < 0.0) { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.D_RL = 0U; } else { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.D_RL = (uint16_t)rtb_Divide1_jg; } /* End of Saturate: '/Saturation27' */ /* Bias: '/Add Constant17' incorporates: * Gain: '/Gain30' */ rtb_Divide1_jg = 10.0 * rtb_P_f + 2048.0; /* Saturate: '/Saturation31' */ if (rtb_Divide1_jg > 4095.0) { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.P_RR = 4095U; } else if (rtb_Divide1_jg < 0.0) { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.P_RR = 0U; } else { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.P_RR = (uint16_t)rtb_Divide1_jg; } /* End of Saturate: '/Saturation31' */ /* Bias: '/Add Constant15' incorporates: * Gain: '/Gain31' */ rtb_Divide1_jg = 10.0 * rtb_I_od + 2048.0; /* Saturate: '/Saturation29' */ if (rtb_Divide1_jg > 4095.0) { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.I_RR = 4095U; } else if (rtb_Divide1_jg < 0.0) { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.I_RR = 0U; } else { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.I_RR = (uint16_t)rtb_Divide1_jg; } /* End of Saturate: '/Saturation29' */ /* Bias: '/Add Constant16' incorporates: * Gain: '/Gain32' */ rtb_Divide1_jg = 10.0 * rtb_D + 2048.0; /* Saturate: '/Saturation30' */ if (rtb_Divide1_jg > 4095.0) { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.D_RR = 4095U; } else if (rtb_Divide1_jg < 0.0) { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.D_RR = 0U; } else { /* BusCreator: '/Bus Creator1' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.dbg_PIDValve_model.D_RR = (uint16_t)rtb_Divide1_jg; } /* End of Saturate: '/Saturation30' */ /* BusCreator: '/Bus Creator' incorporates: * DataStoreRead: '/Data Store Read2' * DataStoreWrite: '/Data Store Write' * DataTypeConversion: '/Data Type Conversion2' */ rtDW.dbgCAN_dbg_Sen_0_model.dbg_Sen_BattVolt_ro = 0U; rtDW.dbgCAN_dbg_Sen_0_model.dbg_Sen_Pressure_ro = (uint16_t)rtDW.Pressure; /* DataTypeConversion: '/Data Type Conversion' incorporates: * DataStoreRead: '/Data Store Read' */ rtb_Divide = fabs(rtDW.Sun_L); if (rtb_Divide < 4.503599627370496E+15) { if (rtb_Divide >= 0.5) { /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write' */ rtDW.dbgCAN_dbg_Sen_0_model.dbg_Sen_Sun_L = (uint16_t)floor(rtDW.Sun_L + 0.5); } else { /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write' */ rtDW.dbgCAN_dbg_Sen_0_model.dbg_Sen_Sun_L = 0U; } } else { /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write' */ rtDW.dbgCAN_dbg_Sen_0_model.dbg_Sen_Sun_L = (uint16_t)rtDW.Sun_L; } /* End of DataTypeConversion: '/Data Type Conversion' */ /* DataTypeConversion: '/Data Type Conversion1' incorporates: * DataStoreRead: '/Data Store Read1' */ rtb_Divide = fabs(rtDW.Sun_R); if (rtb_Divide < 4.503599627370496E+15) { if (rtb_Divide >= 0.5) { /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write' */ rtDW.dbgCAN_dbg_Sen_0_model.dbg_Sen_Sun_R = (uint16_t)floor(rtDW.Sun_R + 0.5); } else { /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write' */ rtDW.dbgCAN_dbg_Sen_0_model.dbg_Sen_Sun_R = 0U; } } else { /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write' */ rtDW.dbgCAN_dbg_Sen_0_model.dbg_Sen_Sun_R = (uint16_t)rtDW.Sun_R; } /* End of DataTypeConversion: '/Data Type Conversion1' */ /* BusCreator: '/Bus Creator1' incorporates: * DataStoreRead: '/Data Store Read4' * DataStoreWrite: '/Data Store Write2' * DataStoreWrite: '/Data Store Write1' */ rtDW.dbgCAN_dbg_Act0_model.dbg_Act00_Def = rtb_DataTypeConversion_p3[0]; rtDW.dbgCAN_dbg_Act0_model.dbg_Act01_Vent_SFL = rtb_DataTypeConversion_p3[5]; rtDW.dbgCAN_dbg_Act0_model.dbg_Act02_Vent_CFL = rtb_DataTypeConversion_p3[4]; rtDW.dbgCAN_dbg_Act0_model.dbg_Act03_Foot_1FL = rtb_DataTypeConversion_p3[7]; rtDW.dbgCAN_dbg_Act0_model.dbg_Act04_Foot_2FL = rtb_DataTypeConversion_p3[8]; rtDW.dbgCAN_dbg_Act0_model.dbg_Act05_Vent_CFR = Actuator_pos_percent_Ch1[1]; rtDW.dbgCAN_dbg_Act0_model.dbg_Act06_Vent_SFR = Actuator_pos_percent_Ch1[2]; rtDW.dbgCAN_dbg_Act0_model.dbg_Act07_Foot_1FR = Actuator_pos_percent_Ch1[4]; /* BusCreator: '/Bus Creator3' incorporates: * DataStoreRead: '/Data Store Read4' * DataStoreRead: '/Data Store Read5' * DataStoreWrite: '/Data Store Write2' * DataStoreWrite: '/Data Store Write2' */ rtDW.dbgCAN_dbg_Act2_model.dbg_Act16_TempL_FL = rtb_DataTypeConversion_p3[6]; rtDW.dbgCAN_dbg_Act2_model.dbg_Act17_TempU_FR = Actuator_pos_percent_Ch1[0]; rtDW.dbgCAN_dbg_Act2_model.dbg_Act18_TempL_FR = Actuator_pos_percent_Ch1[3]; rtDW.dbgCAN_dbg_Act2_model.dbg_Act19_Temp_RL = rtb_DataTypeConversion_fb[1]; rtDW.dbgCAN_dbg_Act2_model.dbg_Act20_Temp_RR = rtb_DataTypeConversion_fb[0]; rtDW.dbgCAN_dbg_Act2_model.dbg_Act21_Rec = rtb_DataTypeConversion_p3[1]; rtDW.dbgCAN_dbg_Act2_model.dbg_Act22_OSA = rtb_DataTypeConversion_p3[2]; rtDW.dbgCAN_dbg_Act2_model.dbg_Act23_SealingValve = rtb_DataTypeConversion_fb [8]; /* BusCreator: '/Bus Creator2' incorporates: * DataStoreRead: '/Data Store Read4' * DataStoreRead: '/Data Store Read5' * DataStoreWrite: '/Data Store Write2' * DataStoreWrite: '/Data Store Write3' */ rtDW.dbgCAN_dbg_Act1_model.dbg_Act08_Foot_2FR = Actuator_pos_percent_Ch1[5]; rtDW.dbgCAN_dbg_Act1_model.dbg_Act09_Vent_SRL = rtb_DataTypeConversion_fb[2]; rtDW.dbgCAN_dbg_Act1_model.dbg_Act10_Vent_CRL = rtb_DataTypeConversion_fb[4]; rtDW.dbgCAN_dbg_Act1_model.dbg_Act11_Foot_RL = rtb_DataTypeConversion_fb[3]; rtDW.dbgCAN_dbg_Act1_model.dbg_Act12_Vent_CRR = rtb_DataTypeConversion_fb[5]; rtDW.dbgCAN_dbg_Act1_model.dbg_Act13_Vent_SRR = rtb_DataTypeConversion_fb[7]; rtDW.dbgCAN_dbg_Act1_model.dbg_Act14_Foot_RR = rtb_DataTypeConversion_fb[6]; rtDW.dbgCAN_dbg_Act1_model.dbg_Act15_TempU_FL = rtb_DataTypeConversion_p3[3]; /* BusCreator: '/Bus Creator' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read1' * DataStoreWrite: '/Data Store Write' */ rtDW.dbgCAN_dbg_Sen_Amb_model.dbg_Sen_Amb_ro = rtDW.AMB; rtDW.dbgCAN_dbg_Sen_Amb_model.dbg_Sen_Amb_Raw_ro = rtb_Switch6_c; rtDW.dbgCAN_dbg_Sen_Amb_model.dbg_Amb_Tg_ro = 0; /* BusCreator: '/Bus Creator' incorporates: * DataStoreWrite: '/Data Store Write' * SignalConversion generated from: '/Vector Concatenate' * SignalConversion generated from: '/Vector Concatenate' * SignalConversion generated from: '/Vector Concatenate' * SignalConversion generated from: '/Vector Concatenate' * */ rtDW.dbg_Auto_AF_model.dbg_Auto_AF_MultMsg_Idx = 0U; rtDW.dbg_Auto_AF_model.dbg_Auto_AF_Correct_FL = 0; rtDW.dbg_Auto_AF_model.dbg_Auto_AF_Correct_FR = 0; rtDW.dbg_Auto_AF_model.dbg_Auto_AF_Correct_RL = 0; rtDW.dbg_Auto_AF_model.dbg_Auto_AF_Correct_RR = 0; rtDW.dbg_Auto_AF_model.dbg_Auto_AF_Vtg_RL = rtb_MultiportSwitch_ks; rtDW.dbg_Auto_AF_model.dbg_Auto_AF_Vtg_FL = rtb_DataTypeConversion1_gq; rtDW.dbg_Auto_AF_model.dbg_Auto_AF_Vtg_FR = rtb_MultiportSwitch1_g; rtDW.dbg_Auto_AF_model.dbg_Auto_AF_Vtg_RR = rtb_u6FRU_tg_amb; rtDW.dbg_Auto_AF_model.dbg_Auto_AF_Incar_RL = rtb_MultiportSwitch_oa; rtDW.dbg_Auto_AF_model.dbg_Auto_AF_Incar_FR = rtb_u5FLU_tg_incar_i; rtDW.dbg_Auto_AF_model.dbg_Auto_AF_Incar_RR = rtb_MultiportSwitch_if; rtDW.dbg_Auto_AF_model.dbg_Auto_AF_Incar_FL = rtb_Bias4; rtDW.dbg_Auto_AF_model.dbg_Auto_AF_Amb_RL = rtb_u5FRU_tg_incar; rtDW.dbg_Auto_AF_model.dbg_Auto_AF_Amb_FR = rtb_u6FLU_tg_amb_g; rtDW.dbg_Auto_AF_model.dbg_Auto_AF_Sun_RR = rtb_MultiportSwitch_if; rtDW.dbg_Auto_AF_model.dbg_Auto_AF_Amb_FL = rtb_Bias2_n; rtDW.dbg_Auto_AF_model.dbg_Auto_AF_Sun_FR = rtb_u6FLU_tg_amb_a3; rtDW.dbg_Auto_AF_model.dbg_Auto_AF_Sun_RL = rtb_u6FRU_tg_amb_f; rtDW.dbg_Auto_AF_model.dbg_Auto_AF_Amb_RR = rtb_MultiportSwitch_az; rtDW.dbg_Auto_AF_model.dbg_Auto_AF_Sun_FL = rtb_Bias3; /* BusCreator: '/Bus Creator' incorporates: * Bias: '/Bias1' * Bias: '/Bias3' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read11' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read4' * DataStoreRead: '/Data Store Read5' * DataStoreRead: '/Data Store Read6' * DataStoreRead: '/Data Store Read9' * DataStoreWrite: '/Data Store Write' * DataStoreWrite: '/Data Store Write' * DataStoreWrite: '/Data Store Write' * SignalConversion generated from: '/Vector Concatenate' * SignalConversion generated from: '/Vector Concatenate' * */ rtDW.dbg_Auto_Duct_model.dbg_Auto_Duct_MultMsg_Idx = 0U; rtDW.dbg_Auto_Duct_model.dbg_Auto_Duct_Tgt_FL_Upper_ro = Duct_FLU_Tg; rtDW.dbg_Auto_Duct_model.dbg_Auto_Duct_Tg_Incar_FL_Upper_ro = (int16_t) (rtb_MultiportSwitch_dq2 - 200); rtDW.dbg_Auto_Duct_model.dbg_Auto_Duct_Tgt_RR_ro = rtDW.Duct_RR_Tg; rtDW.dbg_Auto_Duct_model.dbg_Auto_Duct_Tgt_RL_ro = rtb_Merge_b; rtDW.dbg_Auto_Duct_model.dbg_Auto_Duct_Tgt_FR_Upper_ro = Duct_FRU_Tg; rtDW.dbg_Auto_Duct_model.dbg_Auto_Duct_Tgt_FR_Lower_ro = rtb_y_he; rtDW.dbg_Auto_Duct_model.dbg_Auto_Duct_Tgt_FL_Lower_ro = rtb_y_ds; rtDW.dbg_Auto_Duct_model.dbg_Auto_Duct_Tg_Incar_FR_Upper_ro = (int16_t) (rtb_VectorConcatenate_kz[4] - 200); rtDW.dbg_Auto_Duct_model.dbg_Auto_Duct_Tg_FL_Upper_ro = rtb_MultiportSwitch_ehw; rtDW.dbg_Auto_Duct_model.dbg_Auto_Duct_Tg_FL_Lower_ro = Duct_FRU_Tg_DBG[0]; rtDW.dbg_Auto_Duct_model.dbg_Auto_Duct_Tg_FR_Lower_ro = rtb_VectorConcatenate_by[0]; rtDW.dbg_Auto_Duct_model.dbg_Auto_Duct_Tg_FR_Upper_ro = rtb_VectorConcatenate_kz[0]; rtDW.dbg_Auto_Duct_model.dbg_Auto_Duct_Tg_RL_ro = rtb_MultiportSwitch_cn; rtDW.dbg_Auto_Duct_model.dbg_Auto_Duct_Tg_RR_ro = Duct_RR_Tg_DBG[0]; rtDW.dbg_Auto_Duct_model.dbg_Auto_Duct_Tg_Incar_FL_Lower_ro = (int16_t) (Duct_FRU_Tg_DBG[4] - 200); rtDW.dbg_Auto_Duct_model.dbg_Auto_Duct_Incar_FL_Lower_ro = Duct_FRU_Tg_DBG[1]; rtDW.dbg_Auto_Duct_model.dbg_Auto_Duct_Incar_RR_ro = Duct_RR_Tg_DBG[1]; rtDW.dbg_Auto_Duct_model.dbg_Auto_Duct_Incar_RL_ro = rtb_u5R_tg_incar; rtDW.dbg_Auto_Duct_model.dbg_Auto_Duct_Incar_FR_Upper_ro = rtb_VectorConcatenate_kz[1]; rtDW.dbg_Auto_Duct_model.dbg_Auto_Duct_Incar_FR_Lower_ro = rtb_VectorConcatenate_by[1]; rtDW.dbg_Auto_Duct_model.dbg_Auto_Duct_Incar_FL_Upper_ro = rtb_u5FLU_tg_incar_b; rtDW.dbg_Auto_Duct_model.dbg_Auto_Duct_Tg_Incar_FR_Lower_ro = (int16_t) (rtb_VectorConcatenate_by[4] - 200); rtDW.dbg_Auto_Duct_model.dbg_Auto_Duct_Amb_RL_ro = rtb_u6FLU_tg_amb_d; rtDW.dbg_Auto_Duct_model.dbg_Auto_Duct_Amb_FR_Upper_ro = rtb_VectorConcatenate_kz[2]; rtDW.dbg_Auto_Duct_model.dbg_Auto_Duct_Amb_FR_Lower_ro = rtb_VectorConcatenate_by[2]; rtDW.dbg_Auto_Duct_model.dbg_Auto_Duct_Amb_RR_ro = Duct_RR_Tg_DBG[2]; rtDW.dbg_Auto_Duct_model.dbg_Auto_Duct_Amb_FL_Lower_ro = Duct_FRU_Tg_DBG[2]; rtDW.dbg_Auto_Duct_model.dbg_Auto_Duct_Amb_FL_Upper_ro = rtb_u6FLU_tg_amb_h; rtDW.dbg_Auto_Duct_model.dbg_Auto_Duct_Tg_Incar_RL_ro = (int16_t) (rtb_MultiportSwitch_np - 200); rtDW.dbg_Auto_Duct_model.dbg_Auto_Duct_Sun_FL_Lower_ro = Duct_FRU_Tg_DBG[3]; rtDW.dbg_Auto_Duct_model.dbg_Auto_Duct_Sun_FR_Lower_ro = rtb_VectorConcatenate_by[3]; rtDW.dbg_Auto_Duct_model.dbg_Auto_Duct_Sun_FR_Upper_ro = rtb_VectorConcatenate_kz[3]; rtDW.dbg_Auto_Duct_model.dbg_Auto_Duct_Sun_RL_ro = rtb_u6FLU_tg_amb_n; rtDW.dbg_Auto_Duct_model.dbg_Auto_Duct_Sun_FL_Upper_ro = rtb_u6FLU_tg_amb_o; rtDW.dbg_Auto_Duct_model.dbg_Auto_Duct_Sun_RR_ro = Duct_RR_Tg_DBG[3]; rtDW.dbg_Auto_Duct_model.dbg_Auto_Duct_Tg_Incar_RR_ro = (int16_t) (Duct_RR_Tg_DBG[4] - 200); /* BusCreator: '/Bus Creator' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read3' * DataStoreRead: '/Data Store Read6' * DataStoreRead: '/Data Store Read7' * DataStoreRead: '/Data Store Read8' * DataStoreRead: '/Data Store Read9' * DataStoreWrite: '/Data Store Write' * DataTypeConversion: '/Data Type Conversion' * DataTypeConversion: '/Data Type Conversion1' * DataTypeConversion: '/Data Type Conversion2' * DataTypeConversion: '/Data Type Conversion3' * MATLAB Function: '/RL AF * percent DRS' * MATLAB Function: '/RR AF * percent DRS' */ rtDW.dbgCAN_dbg_Logic_Blower_model.Logic_Blower_Step_FL = rtDW.CCU_BLOWERS_FL; rtDW.dbgCAN_dbg_Logic_Blower_model.Logic_Blower_Step_FR = rtDW.CCU_BLOWERS_FR; rtDW.dbgCAN_dbg_Logic_Blower_model.Logic_Blower_Step_RL = rtDW.CCU_BLOWERS_RL; rtDW.dbgCAN_dbg_Logic_Blower_model.Logic_Blower_Step_RR = rtDW.CCU_BLOWERS_RR; rtDW.dbgCAN_dbg_Logic_Blower_model.Logic_Blower_Pwm_Front = rtDW.PWM_front; rtDW.dbgCAN_dbg_Logic_Blower_model.Logic_Blower_Pwm_Rear = rtDW.PWM_rear; rtDW.dbgCAN_dbg_Logic_Blower_model.Logic_Blower_AF_FL = (uint8_t) rtb_Saturation_as; rtDW.dbgCAN_dbg_Logic_Blower_model.Logic_Blower_AF_FR = (uint8_t)Gain1; rtDW.dbgCAN_dbg_Logic_Blower_model.Logic_Blower_AF_RL = (uint8_t)rtb_out_ihi; rtDW.dbgCAN_dbg_Logic_Blower_model.Logic_Blower_AF_RR = (uint8_t)rtb_out_m44; /* BusCreator: '/Bus Creator' incorporates: * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read3' * DataStoreWrite: '/Data Store Write' * DataTypeConversion: '/Data Type Conversion' * DataTypeConversion: '/Data Type Conversion1' * DataTypeConversion: '/Data Type Conversion2' * Gain: '/Gain1' */ rtDW.dbg_Sen_Demist_model.dbg_Sen_DewPoint_Diff_ro = (int16_t)floor (rtDW.Dew_point); rtDW.dbg_Sen_Demist_model.dbg_Sen_WindShield_Humidity_ro = (uint16_t)(10.0 * rtb_Divide5); rtDW.dbg_Sen_Demist_model.dbg_Sen_WindShield_Temp_ro = (int16_t)floor (index_start); /* BusCreator: '/Bus Creator' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read2' * DataStoreWrite: '/Data Store Write' */ rtDW.dbgCAN_dbg_Sen_Eva_model.dbg_Sen_Eva_F = Eva_Target; rtDW.dbgCAN_dbg_Sen_Eva_model.dbg_Sen_Eva_R = 0; rtDW.dbgCAN_dbg_Sen_Eva_model.dbg_Sen_Eva_Target = rtDW.Eva_F; rtDW.dbgCAN_dbg_Sen_Eva_model.dbg_Sen_Eva_Diff_FrontRear = rtDW.Eva_R; /* Saturate: '/from 0 to 3' incorporates: * Constant: '/Constant' * Sum: '/Add' * UnitDelay: '/Unit Delay' */ if (rtDW.UnitDelay_DSTATE + 1.0 > 3.0) { rtDW.UnitDelay_DSTATE = 3.0; } else if (rtDW.UnitDelay_DSTATE + 1.0 < 0.0) { rtDW.UnitDelay_DSTATE = 0.0; } else { rtDW.UnitDelay_DSTATE++; } /* End of Saturate: '/from 0 to 3' */ /* If: '/если SC front не завершен2' incorporates: * DataStoreRead: '/Data Store Read1' * DataTypeConversion: '/Data Type Conversion' * DataTypeConversion: '/Data Type Conversion2' * UnitDelay: '/Unit Delay' */ if (((uint8_t)rtDW.start_control_finished_front == 0) && ((uint8_t) rtDW.UnitDelay_DSTATE >= 3)) { /* Outputs for IfAction SubSystem: '/Start Control Front' incorporates: * ActionPort: '/Action Port' */ /* SwitchCase: '/Switch Case' incorporates: * DataStoreRead: '/Data Store Read' */ switch (rtDW.step_start_controle_front) { case -1: /* Outputs for IfAction SubSystem: '/Step -1 F (Entry Condition)' incorporates: * ActionPort: '/Action Port' */ /* SwitchCase: '/Switch Case' incorporates: * DataStoreRead: '/Data Store Read1' */ switch (rtDW.LEVEL) { case 0: /* Outputs for IfAction SubSystem: '/Level 0' incorporates: * ActionPort: '/Action Port' */ /* MATLAB Function: '/g_assSTART_ENTER_INCAR' incorporates: * DataStoreRead: '/Data Store Read3' */ g_assSTART_ENTER_INCAR_n(rtDW.LEVEL, &rtb_FLU_tg_correct); /* MATLAB Function: '/g_ausSTART_ENTER_SETTEMP' incorporates: * DataStoreRead: '/Data Store Read4' */ /* : out = g_ausSTART_ENTER_SETTEMP(LVL+1); */ rtb_Gain2 = (int32_t)(rtDW.LEVEL + 1U); if (rtDW.LEVEL + 1U > 255U) { rtb_Gain2 = 255; } /* Switch: '/Switch' incorporates: * Constant: '/not LO or HI' * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read5' * Logic: '/AND' * MATLAB Function: '/g_ausSTART_ENTER_SETTEMP' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator3' */ if ((rtDW.Incar_FL > rtb_FLU_tg_correct) && (rtDW.CCU_MODE_FL == 1) && (rtDW.CCU_SET_FL < g_ausSTART_ENTER_SETTEMP[rtb_Gain2 - 1]) && (rtDW.LO_HI_MODE_FL == 0)) { /* Merge: '/Merge' incorporates: * Constant: '/Constant1' */ rtB.Merge_pe = 1; } else { /* Merge: '/Merge' incorporates: * Constant: '/Constant' */ rtB.Merge_pe = -1; } /* End of Switch: '/Switch' */ /* End of Outputs for SubSystem: '/Level 0' */ break; case 1: /* Outputs for IfAction SubSystem: '/Level 1' incorporates: * ActionPort: '/Action Port' */ /* MATLAB Function: '/g_assSTART_ENTER_INCAR' incorporates: * DataStoreRead: '/Data Store Read3' */ g_assSTART_ENTER_INCAR_n(rtDW.LEVEL, &rtb_FLU_tg_correct); /* MATLAB Function: '/g_ausSTART_ENTER_SETTEMP' incorporates: * DataStoreRead: '/Data Store Read4' */ /* : out = int16(g_ausSTART_ENTER_SETTEMP(LVL+1)); */ rtb_Gain2 = (int32_t)(rtDW.LEVEL + 1U); if (rtDW.LEVEL + 1U > 255U) { rtb_Gain2 = 255; } rtb_out_ihi = g_ausSTART_ENTER_SETTEMP[rtb_Gain2 - 1]; if (rtb_out_ihi > 32767) { rtb_out_ihi = 32767U; } /* Switch: '/Switch' incorporates: * Constant: '/not LO or HI' * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read5' * Logic: '/AND' * MATLAB Function: '/g_ausSTART_ENTER_SETTEMP' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator3' */ if ((rtDW.Incar_FL > rtb_FLU_tg_correct) && (rtDW.CCU_MODE_FL == 1) && (rtDW.CCU_SET_FL < rtb_out_ihi) && (rtDW.LO_HI_MODE_FL == 0)) { /* Merge: '/Merge' incorporates: * Constant: '/Constant1' */ rtB.Merge_pe = 1; } else { /* Merge: '/Merge' incorporates: * Constant: '/Constant' */ rtB.Merge_pe = -1; } /* End of Switch: '/Switch' */ /* End of Outputs for SubSystem: '/Level 1' */ break; case 2: /* Outputs for IfAction SubSystem: '/Level 2' incorporates: * ActionPort: '/Action Port' */ Level2(&rtB.Merge_pe); /* End of Outputs for SubSystem: '/Level 2' */ break; case 3: /* Outputs for IfAction SubSystem: '/Level 3' incorporates: * ActionPort: '/Action Port' */ /* MATLAB Function: '/g_assSTART_ENTER_COOLANT ' incorporates: * DataStoreRead: '/Data Store Read3' */ g_assSTART_ENTER_COOLANT_m(rtDW.LEVEL, &rtb_FLU_tg_correct); /* Switch: '/Switch' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreRead: '/mode driver' * Logic: '/AND' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator2' */ if ((rtDW.ECT < rtb_FLU_tg_correct) && (rtDW.CCU_MODE_FL == 1)) { /* Merge: '/Merge' incorporates: * Constant: '/Constant1' */ rtB.Merge_pe = 0; } else { /* Merge: '/Merge' incorporates: * Constant: '/Constant' */ rtB.Merge_pe = -1; } /* End of Switch: '/Switch' */ /* End of Outputs for SubSystem: '/Level 3' */ break; case 4: /* Outputs for IfAction SubSystem: '/Level 4' incorporates: * ActionPort: '/Action Port' */ Level4(&rtB.Merge_pe, &rtDW.CCU_MODE_FL, &rtDW.ECT, &rtDW.LEVEL, &rtDW.LO_HI_MODE_FL); /* End of Outputs for SubSystem: '/Level 4' */ break; case 5: /* Outputs for IfAction SubSystem: '/Level 5' incorporates: * ActionPort: '/Action Port' */ Level4(&rtB.Merge_pe, &rtDW.CCU_MODE_FL, &rtDW.ECT, &rtDW.LEVEL, &rtDW.LO_HI_MODE_FL); /* End of Outputs for SubSystem: '/Level 5' */ break; } /* End of SwitchCase: '/Switch Case' */ /* End of Outputs for SubSystem: '/Step -1 F (Entry Condition)' */ break; case 0: /* Outputs for IfAction SubSystem: '/Step 0 F' incorporates: * ActionPort: '/Action Port' */ /* SwitchCase: '/Switch Case' incorporates: * DataStoreRead: '/Data Store Read1' */ switch (rtDW.LEVEL) { case 0: /* Outputs for IfAction SubSystem: '/Level 0' incorporates: * ActionPort: '/Action Port' */ Level0(&rtB.Merge_pe); /* End of Outputs for SubSystem: '/Level 0' */ break; case 1: /* Outputs for IfAction SubSystem: '/Level 1' incorporates: * ActionPort: '/Action Port' */ Level0(&rtB.Merge_pe); /* End of Outputs for SubSystem: '/Level 1' */ break; case 2: /* Outputs for IfAction SubSystem: '/Level 2' incorporates: * ActionPort: '/Action Port' */ Level0(&rtB.Merge_pe); /* End of Outputs for SubSystem: '/Level 2' */ break; case 3: /* Outputs for IfAction SubSystem: '/Level 3' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write5' incorporates: * Constant: '/Constant2' */ rtDW.Blower_FR = 20U; /* DataStoreWrite: '/Data Store Write6' incorporates: * Constant: '/Constant3' */ rtDW.Blower_FL = 20U; /* DataStoreWrite: '/Data Store Write10' incorporates: * Constant: '/Constant4' */ rtDW.Dtg_FUR = 600U; /* DataStoreWrite: '/Data Store Write11' incorporates: * Constant: '/Constant4' */ rtDW.Dtg_FUL = 600U; /* DataStoreWrite: '/Data Store Write12' incorporates: * Constant: '/Constant6' */ rtDW.Dtg_FLR = 800U; /* DataStoreWrite: '/Data Store Write13' incorporates: * Constant: '/Constant6' */ rtDW.Dtg_FLL = 800U; /* DataStoreWrite: '/Data Store Write' incorporates: * DataStoreRead: '/Data Store Read1' * MATLAB Function: '/incar filter up' */ incarfilterup(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* DataStoreWrite: '/Data Store Write1' incorporates: * DataStoreRead: '/Data Store Read2' * MATLAB Function: '/incar filter down' */ incarfilterdown(rtDW.LEVEL, &EN_BATTChiller); /* DataStoreWrite: '/Data Store Write3' incorporates: * Constant: '/Mode - def' */ rtDW.Mode_FL = 80U; /* DataStoreWrite: '/Data Store Write7' incorporates: * Constant: '/Recirc logic Partial REC' */ index_start = 1.0; /* DataStoreWrite: '/Data Store Write8' incorporates: * Constant: '/Valve open' */ ShutOffFront_EN = 1U; /* DataStoreWrite: '/Data Store Write9' incorporates: * Constant: '/Valve open' */ ShutOffRear_EN = 1U; /* Switch: '/Switch1' incorporates: * Constant: '/LO' * DataStoreRead: '/Data Store Read11' * DataStoreRead: '/Data Store Read12' * Logic: '/Logical Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator3' */ /* : out = int16(g_assSTART_COOLANT_STEP0_TO_1(LVL + 1 - 2)); */ if ((rtDW.CCU_MODE_FL != 1) || (rtDW.LO_HI_MODE_FL == 1)) { /* Merge: '/Merge' incorporates: * Constant: '/exit algorithm' */ rtB.Merge_pe = 3; } else { /* MATLAB Function: '/g_assSTART_COOLANT_STEP0_TO_1 ' incorporates: * DataStoreRead: '/Data Store Read3' */ rtb_Gain2 = (int32_t)(rtDW.LEVEL + 1U); if (rtDW.LEVEL + 1U > 255U) { rtb_Gain2 = 255; } rtb_Subtract = (uint32_t)rtb_Gain2 - 2U; if ((uint32_t)rtb_Gain2 - 2U > (uint32_t)rtb_Gain2) { rtb_Subtract = 0U; } /* Merge: '/Merge' incorporates: * DataStoreRead: '/Engine coolant temp' * MATLAB Function: '/g_assSTART_COOLANT_STEP0_TO_1 ' * RelationalOperator: '/Relational Operator' */ rtB.Merge_pe = (int8_t)(rtDW.ECT > g_assSTART_COOLANT_STEP0_TO_1 [(int32_t)rtb_Subtract - 1]); } /* End of Switch: '/Switch1' */ /* End of Outputs for SubSystem: '/Level 3' */ break; case 4: /* Outputs for IfAction SubSystem: '/Level 4' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write5' incorporates: * Constant: '/Constant2' */ rtDW.Blower_FR = 20U; /* DataStoreWrite: '/Data Store Write6' incorporates: * Constant: '/Constant3' */ rtDW.Blower_FL = 20U; /* DataStoreWrite: '/Data Store Write10' incorporates: * Constant: '/Constant4' */ rtDW.Dtg_FUR = 600U; /* DataStoreWrite: '/Data Store Write11' incorporates: * Constant: '/Constant4' */ rtDW.Dtg_FUL = 600U; /* DataStoreWrite: '/Data Store Write12' incorporates: * Constant: '/Constant6' */ rtDW.Dtg_FLR = 800U; /* DataStoreWrite: '/Data Store Write13' incorporates: * Constant: '/Constant6' */ rtDW.Dtg_FLL = 800U; /* DataStoreWrite: '/Data Store Write' incorporates: * DataStoreRead: '/Data Store Read1' * MATLAB Function: '/incar filter up' */ incarfilterup(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* DataStoreWrite: '/Data Store Write1' incorporates: * DataStoreRead: '/Data Store Read2' * MATLAB Function: '/incar filter down' */ incarfilterdown(rtDW.LEVEL, &EN_BATTChiller); /* DataStoreWrite: '/Data Store Write3' incorporates: * Constant: '/Mode - def' */ rtDW.Mode_FL = 80U; /* DataStoreWrite: '/Data Store Write7' incorporates: * Constant: '/Recirc logic Partial REC' */ index_start = 1.0; /* DataStoreWrite: '/Data Store Write8' incorporates: * Constant: '/Valve open' */ ShutOffFront_EN = 1U; /* DataStoreWrite: '/Data Store Write9' incorporates: * Constant: '/Valve open' */ ShutOffRear_EN = 1U; /* MATLAB Function: '/g_assSTART_COOLANT_STEP0_TO_1 ' incorporates: * DataStoreRead: '/Data Store Read3' */ g_assSTART_COOLANT_STEP0_TO_1_c(rtDW.LEVEL, &rtb_FLU_tg_correct); /* Switch: '/Switch1' incorporates: * Constant: '/LO' * DataStoreRead: '/Data Store Read11' * DataStoreRead: '/Data Store Read12' * Logic: '/Logical Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator3' */ if ((rtDW.CCU_MODE_FL != 1) || (rtDW.LO_HI_MODE_FL == 1)) { /* Merge: '/Merge' incorporates: * Constant: '/exit algorithm' */ rtB.Merge_pe = 3; } else { /* Merge: '/Merge' incorporates: * DataStoreRead: '/Engine coolant temp' * RelationalOperator: '/Relational Operator' */ rtB.Merge_pe = (int8_t)(rtDW.ECT > rtb_FLU_tg_correct); } /* End of Switch: '/Switch1' */ /* End of Outputs for SubSystem: '/Level 4' */ break; case 5: /* Outputs for IfAction SubSystem: '/Level 5' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write5' incorporates: * Constant: '/Constant2' */ rtDW.Blower_FR = 20U; /* DataStoreWrite: '/Data Store Write6' incorporates: * Constant: '/Constant3' */ rtDW.Blower_FL = 20U; /* DataStoreWrite: '/Data Store Write10' incorporates: * Constant: '/Constant4' */ rtDW.Dtg_FUR = 800U; /* DataStoreWrite: '/Data Store Write11' incorporates: * Constant: '/Constant4' */ rtDW.Dtg_FUL = 800U; /* DataStoreWrite: '/Data Store Write12' incorporates: * Constant: '/Constant6' */ rtDW.Dtg_FLR = 800U; /* DataStoreWrite: '/Data Store Write13' incorporates: * Constant: '/Constant6' */ rtDW.Dtg_FLL = 800U; /* DataStoreWrite: '/Data Store Write' incorporates: * DataStoreRead: '/Data Store Read1' * MATLAB Function: '/incar filter up' */ incarfilterup(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* DataStoreWrite: '/Data Store Write1' incorporates: * DataStoreRead: '/Data Store Read2' * MATLAB Function: '/incar filter down' */ incarfilterdown(rtDW.LEVEL, &EN_BATTChiller); /* DataStoreWrite: '/Data Store Write3' incorporates: * Constant: '/Mode - def' */ rtDW.Mode_FL = 80U; /* DataStoreWrite: '/Data Store Write7' incorporates: * Constant: '/Recirc logic Partial REC' */ index_start = 1.0; /* DataStoreWrite: '/Data Store Write8' incorporates: * Constant: '/Valve open' */ ShutOffFront_EN = 1U; /* DataStoreWrite: '/Data Store Write9' incorporates: * Constant: '/Valve open' */ ShutOffRear_EN = 1U; /* MATLAB Function: '/g_assSTART_COOLANT_STEP0_TO_1 ' incorporates: * DataStoreRead: '/Data Store Read3' */ g_assSTART_COOLANT_STEP0_TO_1_c(rtDW.LEVEL, &rtb_FLU_tg_correct); /* Switch: '/Switch1' incorporates: * Constant: '/LO' * DataStoreRead: '/Data Store Read11' * DataStoreRead: '/Data Store Read12' * Logic: '/Logical Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator3' */ if ((rtDW.CCU_MODE_FL != 1) || (rtDW.LO_HI_MODE_FL == 1)) { /* Merge: '/Merge' incorporates: * Constant: '/exit algorithm' */ rtB.Merge_pe = 3; } else { /* Merge: '/Merge' incorporates: * DataStoreRead: '/Engine coolant temp' * RelationalOperator: '/Relational Operator' */ rtB.Merge_pe = (int8_t)(rtDW.ECT > rtb_FLU_tg_correct); } /* End of Switch: '/Switch1' */ /* End of Outputs for SubSystem: '/Level 5' */ break; } /* End of SwitchCase: '/Switch Case' */ /* End of Outputs for SubSystem: '/Step 0 F' */ break; case 1: /* Outputs for IfAction SubSystem: '/Step 1 F' incorporates: * ActionPort: '/Action Port' */ /* SwitchCase: '/Switch Case' incorporates: * DataStoreRead: '/Data Store Read1' */ switch (rtDW.LEVEL) { case 0: /* Outputs for IfAction SubSystem: '/Level 0' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write8' incorporates: * DataStoreRead: '/Data Store Read10' * MATLAB Function: '/3 way valve status' */ uwayvalvestatus(rtDW.LEVEL, &ShutOffFront_EN); /* DataStoreWrite: '/Data Store Write' incorporates: * DataStoreRead: '/Data Store Read1' * MATLAB Function: '/incar filter up' */ incarfilterup(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* DataStoreWrite: '/Data Store Write1' incorporates: * DataStoreRead: '/Data Store Read2' * MATLAB Function: '/incar filter down' */ incarfilterdown(rtDW.LEVEL, &EN_BATTChiller); /* DataStoreWrite: '/Data Store Write3' incorporates: * DataStoreRead: '/Data Store Read5' * MATLAB Function: '/mode FR step 1' */ modeFRstep1(rtDW.LEVEL, &rtDW.Mode_FL); /* MATLAB Function: '/window heating' incorporates: * DataStoreRead: '/Data Store Read6' */ windowheating(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* MATLAB Function: '/blower FR' incorporates: * DataStoreRead: '/Data Store Read7' */ blowerFR(rtDW.LEVEL, &rtb_Saturation_as); /* DataTypeConversion: '/Data Type Conversion' incorporates: * DataStoreWrite: '/Data Store Write5' */ rtDW.Blower_FR = (uint8_t)rtb_Saturation_as; /* DataStoreWrite: '/Data Store Write6' incorporates: * DataStoreWrite: '/Data Store Write5' */ rtDW.Blower_FL = rtDW.Blower_FR; /* MATLAB Function: '/Dtg_FrontUpper_X' incorporates: * DataStoreRead: '/Data Store Read8' */ Dtg_FrontUpper_X(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* Gain: '/Gain' incorporates: * DataStoreWrite: '/Data Store Write10' */ rtDW.Dtg_FUR = (uint16_t)(10U * Comp_Max_RPM_Allowed); /* DataStoreWrite: '/Data Store Write11' incorporates: * DataStoreWrite: '/Data Store Write10' */ rtDW.Dtg_FUL = rtDW.Dtg_FUR; /* MATLAB Function: '/Dtg_FrontLower_X' incorporates: * DataStoreRead: '/Data Store Read9' */ Dtg_FrontLower_X(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* Gain: '/Gain1' incorporates: * DataStoreWrite: '/Data Store Write12' */ rtDW.Dtg_FLR = (uint16_t)(10U * Comp_Max_RPM_Allowed); /* DataStoreWrite: '/Data Store Write13' incorporates: * DataStoreWrite: '/Data Store Write12' */ rtDW.Dtg_FLL = rtDW.Dtg_FLR; /* DataStoreWrite: '/Data Store Write7' incorporates: * Constant: '/Recirc logic Partial REC' */ index_start = 1.0; /* MATLAB Function: '/Incar temp goto from step 1 to step 2 ' incorporates: * DataStoreRead: '/Data Store Read3' */ Incartempgotofromstep1tostep2(rtDW.LEVEL, &rtb_FLU_tg_correct); /* MATLAB Function: '/Time goto from step 1 to step 2 ' incorporates: * DataStoreRead: '/Data Store Read4' */ /* : out = int16(g_ausSTART_TIME_STEP1_TO_2(LVL + 1)); */ rtb_Gain2 = (int32_t)(rtDW.LEVEL + 1U); if (rtDW.LEVEL + 1U > 255U) { rtb_Gain2 = 255; } rtb_out_ihi = g_ausSTART_TIME_STEP1_TO_2[rtb_Gain2 - 1]; if (rtb_out_ihi > 32767) { rtb_out_ihi = 32767U; } /* MATLAB Function: '/MATLAB Function1' incorporates: * DataStoreRead: '/Data Store Read13' * Gain: '/из сек в мс' * MATLAB Function: '/Time goto from step 1 to step 2 ' */ MATLABFunction1(rtDW.t_now, (uint16_t)(1000 * rtb_out_ihi), &WinterCondition_is_active_F, &rtDW.sf_MATLABFunction1_n); /* Switch: '/Switch1' incorporates: * Constant: '/not LO or HI' * DataStoreRead: '/Data Store Read11' * DataStoreRead: '/Data Store Read12' * DataStoreRead: '/incar temp' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator3' * Switch: '/Switch' */ if ((rtDW.CCU_MODE_FL != 1) || (rtDW.LO_HI_MODE_FL != 0)) { /* Merge: '/Merge' incorporates: * Constant: '/exit algorithm' */ rtB.Merge_pe = 3; } else if ((rtDW.Incar_FL < rtb_FLU_tg_correct) || WinterCondition_is_active_F) { /* Switch: '/Switch' incorporates: * Constant: '/go to next step' * Merge: '/Merge' */ rtB.Merge_pe = 2; } else { /* Merge: '/Merge' incorporates: * Constant: '/stay at step 1' * Switch: '/Switch' */ rtB.Merge_pe = 1; } /* End of Switch: '/Switch1' */ /* End of Outputs for SubSystem: '/Level 0' */ break; case 1: /* Outputs for IfAction SubSystem: '/Level 1' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write8' incorporates: * DataStoreRead: '/Data Store Read10' * MATLAB Function: '/3 way valve status' */ uwayvalvestatus(rtDW.LEVEL, &ShutOffFront_EN); /* DataStoreWrite: '/Data Store Write' incorporates: * DataStoreRead: '/Data Store Read1' * MATLAB Function: '/incar filter up' */ incarfilterup(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* DataStoreWrite: '/Data Store Write1' incorporates: * DataStoreRead: '/Data Store Read2' * MATLAB Function: '/incar filter down' */ incarfilterdown(rtDW.LEVEL, &EN_BATTChiller); /* DataStoreWrite: '/Data Store Write3' incorporates: * DataStoreRead: '/Data Store Read5' * MATLAB Function: '/mode FR step 1' */ modeFRstep1(rtDW.LEVEL, &rtDW.Mode_FL); /* MATLAB Function: '/window heating' incorporates: * DataStoreRead: '/Data Store Read6' */ windowheating(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* MATLAB Function: '/blower FR' incorporates: * DataStoreRead: '/Data Store Read7' */ blowerFR(rtDW.LEVEL, &rtb_Saturation_as); /* DataTypeConversion: '/Data Type Conversion' incorporates: * DataStoreWrite: '/Data Store Write5' */ rtDW.Blower_FR = (uint8_t)rtb_Saturation_as; /* DataStoreWrite: '/Data Store Write6' incorporates: * DataStoreWrite: '/Data Store Write5' */ rtDW.Blower_FL = rtDW.Blower_FR; /* MATLAB Function: '/Dtg_FrontUpper_X' incorporates: * DataStoreRead: '/Data Store Read8' */ Dtg_FrontUpper_X(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* Gain: '/Gain1' incorporates: * DataStoreWrite: '/Data Store Write10' */ rtDW.Dtg_FUR = (uint16_t)(10U * Comp_Max_RPM_Allowed); /* DataStoreWrite: '/Data Store Write11' incorporates: * DataStoreWrite: '/Data Store Write10' */ rtDW.Dtg_FUL = rtDW.Dtg_FUR; /* MATLAB Function: '/Dtg_FrontLower_X' incorporates: * DataStoreRead: '/Data Store Read9' */ Dtg_FrontLower_X(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* Gain: '/Gain2' incorporates: * DataStoreWrite: '/Data Store Write12' */ rtDW.Dtg_FLR = (uint16_t)(10U * Comp_Max_RPM_Allowed); /* DataStoreWrite: '/Data Store Write13' incorporates: * DataStoreWrite: '/Data Store Write12' */ rtDW.Dtg_FLL = rtDW.Dtg_FLR; /* DataStoreWrite: '/Data Store Write7' incorporates: * Constant: '/Recirc logic Partial REC' */ index_start = 1.0; /* MATLAB Function: '/Incar temp goto from step 1 to step 2 ' incorporates: * DataStoreRead: '/Data Store Read3' */ Incartempgotofromstep1tostep2(rtDW.LEVEL, &rtb_FLU_tg_correct); /* MATLAB Function: '/Time goto from step 1 to step 2 ' incorporates: * DataStoreRead: '/Data Store Read4' */ Timegotofromstep1tostep2(rtDW.LEVEL, &Eva_F_tg); /* MATLAB Function: '/MATLAB Function1' incorporates: * DataStoreRead: '/Data Store Read13' * Gain: '/из сек в мс' */ MATLABFunction1_j(rtDW.t_now, (uint32_t)(1000 * Eva_F_tg), &WinterCondition_is_active_F, &rtDW.sf_MATLABFunction1_j); /* Switch: '/Switch1' incorporates: * Constant: '/not LO or HI' * DataStoreRead: '/Data Store Read11' * DataStoreRead: '/Data Store Read12' * DataStoreRead: '/incar temp' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator3' * Switch: '/Switch' */ if ((rtDW.CCU_MODE_FL != 1) || (rtDW.LO_HI_MODE_FL != 0)) { /* Merge: '/Merge' incorporates: * Constant: '/exit algorithm' */ rtB.Merge_pe = 3; } else if ((rtDW.Incar_FL < rtb_FLU_tg_correct) || WinterCondition_is_active_F) { /* Switch: '/Switch' incorporates: * Constant: '/go to next step' * Merge: '/Merge' */ rtB.Merge_pe = 2; } else { /* Merge: '/Merge' incorporates: * Constant: '/stay at step 1' * Switch: '/Switch' */ rtB.Merge_pe = 1; } /* End of Switch: '/Switch1' */ /* End of Outputs for SubSystem: '/Level 1' */ break; case 2: /* Outputs for IfAction SubSystem: '/Level 2' incorporates: * ActionPort: '/Action Port' */ /* Merge: '/Merge' incorporates: * Constant: '/Constant' * SignalConversion generated from: '/step' */ rtB.Merge_pe = 2; /* End of Outputs for SubSystem: '/Level 2' */ break; case 3: /* Outputs for IfAction SubSystem: '/Level 3' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write8' incorporates: * DataStoreRead: '/Data Store Read11' * MATLAB Function: '/3 way valve status' */ uwayvalvestatus(rtDW.LEVEL, &ShutOffFront_EN); /* DataStoreWrite: '/Data Store Write' incorporates: * DataStoreRead: '/Data Store Read1' * MATLAB Function: '/incar filter up' */ incarfilterup(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* DataStoreWrite: '/Data Store Write1' incorporates: * DataStoreRead: '/Data Store Read2' * MATLAB Function: '/incar filter down' */ incarfilterdown(rtDW.LEVEL, &EN_BATTChiller); /* DataStoreWrite: '/Data Store Write3' incorporates: * DataStoreRead: '/Data Store Read5' * MATLAB Function: '/mode FR step 1' */ modeFRstep1(rtDW.LEVEL, &rtDW.Mode_FL); /* MATLAB Function: '/window heating' incorporates: * DataStoreRead: '/Data Store Read6' */ windowheating(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* MATLAB Function: '/blower min max' incorporates: * DataStoreRead: '/Data Store Read7' */ blowerminmax(rtDW.LEVEL, rtb_out_llx); /* MATLAB Function: '/ECT min max' incorporates: * DataStoreRead: '/Data Store Read7' */ ECTminmax(rtDW.LEVEL, rtb_out_ib); /* Lookup_n-D: '/blower для текущего ECT' incorporates: * DataStoreRead: '/engine coolant temp' */ rtb_FLU_tg_correct = look1_is16lu64n32tu16Ds32Is16_binlcs(rtDW.ECT, rtb_out_ib, rtb_out_llx, 1U); /* DataTypeConversion: '/Data Type Conversion' incorporates: * DataStoreWrite: '/Data Store Write5' * DataTypeConversion: '/Data Type Conversion' */ rtDW.Blower_FR = (uint8_t)rtb_FLU_tg_correct; /* DataStoreWrite: '/Data Store Write6' incorporates: * DataStoreWrite: '/Data Store Write5' */ rtDW.Blower_FL = rtDW.Blower_FR; /* MATLAB Function: '/Dtg_FrontUpper_X' incorporates: * DataStoreRead: '/Data Store Read8' */ Dtg_FrontUpper_X(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* Gain: '/Gain1' incorporates: * DataStoreWrite: '/Data Store Write10' */ rtDW.Dtg_FUR = (uint16_t)(10U * Comp_Max_RPM_Allowed); /* DataStoreWrite: '/Data Store Write11' incorporates: * DataStoreWrite: '/Data Store Write10' */ rtDW.Dtg_FUL = rtDW.Dtg_FUR; /* MATLAB Function: '/Dtg_FrontLower_X' incorporates: * DataStoreRead: '/Data Store Read9' */ Dtg_FrontLower_X(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* Gain: '/Gain2' incorporates: * DataStoreWrite: '/Data Store Write12' */ rtDW.Dtg_FLR = (uint16_t)(10U * Comp_Max_RPM_Allowed); /* DataStoreWrite: '/Data Store Write13' incorporates: * DataStoreWrite: '/Data Store Write12' */ rtDW.Dtg_FLL = rtDW.Dtg_FLR; /* DataStoreWrite: '/Data Store Write7' incorporates: * Constant: '/Recirc logic Partial REC' */ index_start = 1.0; /* MATLAB Function: '/Incar temp goto from step 1 to step 2 ' incorporates: * DataStoreRead: '/Data Store Read3' */ Incartempgotofromstep1tostep2(rtDW.LEVEL, &Eva_F_tg); /* MATLAB Function: '/Time goto from step 1 to step 2 ' incorporates: * DataStoreRead: '/Data Store Read4' */ Timegotofromstep1tostep2(rtDW.LEVEL, &rtb_FLU_tg_correct); /* MATLAB Function: '/MATLAB Function1' incorporates: * DataStoreRead: '/Data Store Read14' * Gain: '/из сек в мс' */ MATLABFunction1_j(rtDW.t_now, (uint32_t)(1000 * rtb_FLU_tg_correct), &WinterCondition_is_active_F, &rtDW.sf_MATLABFunction1_d); /* Switch: '/Switch1' incorporates: * Constant: '/LO' * DataStoreRead: '/Data Store Read12' * DataStoreRead: '/Data Store Read13' * Logic: '/Logical Operator1' * RelationalOperator: '/Relational Operator3' * RelationalOperator: '/Relational Operator4' */ /* : out = int16(g_assSTART_COOLANT_TO_STEP2(LVL + 1 - 3)); */ if ((rtDW.CCU_MODE_FL != 1) || (rtDW.LO_HI_MODE_FL == 1)) { /* Merge: '/Merge' incorporates: * Constant: '/exit algorithm' */ rtB.Merge_pe = 3; } else { /* MATLAB Function: '/g_assSTART_COOLANT_TO_STEP2 ' incorporates: * DataStoreRead: '/Data Store Read10' */ rtb_Gain2 = (int32_t)(rtDW.LEVEL + 1U); if (rtDW.LEVEL + 1U > 255U) { rtb_Gain2 = 255; } /* MW:begin MISRA2012:D4.1 CERT-C:INT30-C 'Justifying MISRA CPP rule violation' */ rtb_Subtract = (uint32_t)rtb_Gain2 - 3U; /* MW:end MISRA2012:D4.1 CERT-C:INT30-C */ if ((uint32_t)rtb_Gain2 - 3U > (uint32_t)rtb_Gain2) { rtb_Subtract = 0U; } /* Switch: '/Switch' incorporates: * DataStoreRead: '/engine coolant temp' * DataStoreRead: '/incar temp' * Logic: '/Logical Operator' * MATLAB Function: '/g_assSTART_COOLANT_TO_STEP2 ' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator2' */ if ((rtDW.Incar_FL < Eva_F_tg) || WinterCondition_is_active_F || (rtDW.ECT > g_assSTART_COOLANT_TO_STEP2[(int32_t)rtb_Subtract - 1])) { /* Merge: '/Merge' incorporates: * Constant: '/go to next step 2' */ rtB.Merge_pe = 2; } else { /* Merge: '/Merge' incorporates: * Constant: '/stay at step 1' */ rtB.Merge_pe = 1; } /* End of Switch: '/Switch' */ } /* End of Switch: '/Switch1' */ /* End of Outputs for SubSystem: '/Level 3' */ break; case 4: /* Outputs for IfAction SubSystem: '/Level 4' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write8' incorporates: * DataStoreRead: '/Data Store Read10' * MATLAB Function: '/3 way valve status' */ uwayvalvestatus(rtDW.LEVEL, &ShutOffFront_EN); /* DataStoreWrite: '/Data Store Write' incorporates: * DataStoreRead: '/Data Store Read1' * MATLAB Function: '/incar filter up' */ incarfilterup(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* DataStoreWrite: '/Data Store Write1' incorporates: * DataStoreRead: '/Data Store Read2' * MATLAB Function: '/incar filter down' */ incarfilterdown(rtDW.LEVEL, &EN_BATTChiller); /* DataStoreWrite: '/Data Store Write3' incorporates: * DataStoreRead: '/Data Store Read5' * MATLAB Function: '/mode FR step 1' */ modeFRstep1(rtDW.LEVEL, &rtDW.Mode_FL); /* MATLAB Function: '/window heating' incorporates: * DataStoreRead: '/Data Store Read6' */ windowheating(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* MATLAB Function: '/blower min max' incorporates: * DataStoreRead: '/Data Store Read7' */ blowerminmax(rtDW.LEVEL, rtb_out_llx); /* MATLAB Function: '/ECT min max' incorporates: * DataStoreRead: '/Data Store Read7' */ ECTminmax(rtDW.LEVEL, rtb_out_ib); /* Lookup_n-D: '/blower для текущего ECT' incorporates: * DataStoreRead: '/engine coolant temp' */ rtb_FLU_tg_correct = look1_is16lu64n32tu16Ds32Is16_binlcs(rtDW.ECT, rtb_out_ib, rtb_out_llx, 1U); /* DataTypeConversion: '/Data Type Conversion' incorporates: * DataStoreWrite: '/Data Store Write5' * DataTypeConversion: '/Data Type Conversion1' */ rtDW.Blower_FR = (uint8_t)rtb_FLU_tg_correct; /* DataStoreWrite: '/Data Store Write6' incorporates: * DataStoreWrite: '/Data Store Write5' */ rtDW.Blower_FL = rtDW.Blower_FR; /* MATLAB Function: '/Dtg_FrontUpper_X' incorporates: * DataStoreRead: '/Data Store Read8' */ Dtg_FrontUpper_X(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* Gain: '/Gain1' incorporates: * DataStoreWrite: '/Data Store Write10' */ rtDW.Dtg_FUR = (uint16_t)(10U * Comp_Max_RPM_Allowed); /* DataStoreWrite: '/Data Store Write11' incorporates: * DataStoreWrite: '/Data Store Write10' */ rtDW.Dtg_FUL = rtDW.Dtg_FUR; /* MATLAB Function: '/Dtg_FrontLower_X' incorporates: * DataStoreRead: '/Data Store Read9' */ Dtg_FrontLower_X(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* Gain: '/Gain2' incorporates: * DataStoreWrite: '/Data Store Write12' */ rtDW.Dtg_FLR = (uint16_t)(10U * Comp_Max_RPM_Allowed); /* DataStoreWrite: '/Data Store Write13' incorporates: * DataStoreWrite: '/Data Store Write12' */ rtDW.Dtg_FLL = rtDW.Dtg_FLR; /* DataStoreWrite: '/Data Store Write7' incorporates: * Constant: '/Recirc logic Partial REC' */ index_start = 1.0; /* MATLAB Function: '/Incar temp goto from step 1 to step 2 ' incorporates: * DataStoreRead: '/Data Store Read3' */ Incartempgotofromstep1tostep2(rtDW.LEVEL, &Eva_F_tg); /* MATLAB Function: '/Time goto from step 1 to step 2 ' incorporates: * DataStoreRead: '/Data Store Read4' */ Timegotofromstep1tostep2(rtDW.LEVEL, &rtb_FLU_tg_correct); /* MATLAB Function: '/MATLAB Function1' incorporates: * DataStoreRead: '/Data Store Read13' * Gain: '/из сек в мс' */ MATLABFunction1_j(rtDW.t_now, (uint32_t)(1000 * rtb_FLU_tg_correct), &WinterCondition_is_active_F, &rtDW.sf_MATLABFunction1_h); /* Switch: '/Switch1' incorporates: * Constant: '/LO' * DataStoreRead: '/Data Store Read11' * DataStoreRead: '/Data Store Read12' * DataStoreRead: '/incar temp' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator3' * Switch: '/Switch' */ if ((rtDW.CCU_MODE_FL != 1) || (rtDW.LO_HI_MODE_FL == 1)) { /* Merge: '/Merge' incorporates: * Constant: '/exit algorithm' */ rtB.Merge_pe = 3; } else if ((rtDW.Incar_FL > Eva_F_tg) || WinterCondition_is_active_F) { /* Switch: '/Switch' incorporates: * Constant: '/go to next step' * Merge: '/Merge' */ rtB.Merge_pe = 2; } else { /* Merge: '/Merge' incorporates: * Constant: '/stay at step 1' * Switch: '/Switch' */ rtB.Merge_pe = 1; } /* End of Switch: '/Switch1' */ /* End of Outputs for SubSystem: '/Level 4' */ break; case 5: /* Outputs for IfAction SubSystem: '/Level 5' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write8' incorporates: * DataStoreRead: '/Data Store Read10' * MATLAB Function: '/3 way valve status' */ uwayvalvestatus(rtDW.LEVEL, &ShutOffFront_EN); /* DataStoreWrite: '/Data Store Write' incorporates: * DataStoreRead: '/Data Store Read1' * MATLAB Function: '/incar filter up' */ incarfilterup(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* DataStoreWrite: '/Data Store Write1' incorporates: * DataStoreRead: '/Data Store Read2' * MATLAB Function: '/incar filter down' */ incarfilterdown(rtDW.LEVEL, &EN_BATTChiller); /* DataStoreWrite: '/Data Store Write3' incorporates: * DataStoreRead: '/Data Store Read5' * MATLAB Function: '/mode FR step 1' */ modeFRstep1(rtDW.LEVEL, &rtDW.Mode_FL); /* MATLAB Function: '/window heating' incorporates: * DataStoreRead: '/Data Store Read6' */ windowheating(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* MATLAB Function: '/blower min max' incorporates: * DataStoreRead: '/Data Store Read7' */ blowerminmax(rtDW.LEVEL, rtb_out_llx); /* MATLAB Function: '/ECT min max' incorporates: * DataStoreRead: '/Data Store Read7' */ ECTminmax(rtDW.LEVEL, rtb_out_ib); /* Lookup_n-D: '/blower для текущего ECT' incorporates: * DataStoreRead: '/engine coolant temp' */ rtb_FLU_tg_correct = look1_is16lu64n32tu16Ds32Is16_binlcs(rtDW.ECT, rtb_out_ib, rtb_out_llx, 1U); /* DataTypeConversion: '/Data Type Conversion' incorporates: * DataStoreWrite: '/Data Store Write5' * DataTypeConversion: '/Data Type Conversion1' */ rtDW.Blower_FR = (uint8_t)rtb_FLU_tg_correct; /* DataStoreWrite: '/Data Store Write6' incorporates: * DataStoreWrite: '/Data Store Write5' */ rtDW.Blower_FL = rtDW.Blower_FR; /* MATLAB Function: '/Dtg_FrontUpper_X' incorporates: * DataStoreRead: '/Data Store Read8' */ Dtg_FrontUpper_X(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* Gain: '/Gain2' incorporates: * DataStoreWrite: '/Data Store Write10' */ rtDW.Dtg_FUR = (uint16_t)(10U * Comp_Max_RPM_Allowed); /* DataStoreWrite: '/Data Store Write11' incorporates: * DataStoreWrite: '/Data Store Write10' */ rtDW.Dtg_FUL = rtDW.Dtg_FUR; /* MATLAB Function: '/Dtg_FrontLower_X' incorporates: * DataStoreRead: '/Data Store Read9' */ Dtg_FrontLower_X(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* Gain: '/Gain1' incorporates: * DataStoreWrite: '/Data Store Write12' */ rtDW.Dtg_FLR = (uint16_t)(10U * Comp_Max_RPM_Allowed); /* DataStoreWrite: '/Data Store Write13' incorporates: * DataStoreWrite: '/Data Store Write12' */ rtDW.Dtg_FLL = rtDW.Dtg_FLR; /* DataStoreWrite: '/Data Store Write7' incorporates: * Constant: '/Recirc logic Partial REC' */ index_start = 1.0; /* MATLAB Function: '/Incar temp goto from step 1 to step 2 ' incorporates: * DataStoreRead: '/Data Store Read3' */ Incartempgotofromstep1tostep2(rtDW.LEVEL, &Eva_F_tg); /* MATLAB Function: '/Time goto from step 1 to step 2 ' incorporates: * DataStoreRead: '/Data Store Read4' */ Timegotofromstep1tostep2(rtDW.LEVEL, &rtb_FLU_tg_correct); /* MATLAB Function: '/MATLAB Function1' incorporates: * DataStoreRead: '/Data Store Read13' * Gain: '/из сек в мс' */ MATLABFunction1_j(rtDW.t_now, (uint32_t)(1000 * rtb_FLU_tg_correct), &WinterCondition_is_active_F, &rtDW.sf_MATLABFunction1_p); /* Switch: '/Switch1' incorporates: * Constant: '/LO' * DataStoreRead: '/Data Store Read11' * DataStoreRead: '/Data Store Read12' * DataStoreRead: '/incar temp' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator3' * Switch: '/Switch' */ if ((rtDW.CCU_MODE_FL != 1) || (rtDW.LO_HI_MODE_FL == 1)) { /* Merge: '/Merge' incorporates: * Constant: '/exit algorithm' */ rtB.Merge_pe = 3; } else if ((rtDW.Incar_FL > Eva_F_tg) || WinterCondition_is_active_F) { /* Switch: '/Switch' incorporates: * Constant: '/go to next step' * Merge: '/Merge' */ rtB.Merge_pe = 2; } else { /* Merge: '/Merge' incorporates: * Constant: '/stay at step 1' * Switch: '/Switch' */ rtB.Merge_pe = 1; } /* End of Switch: '/Switch1' */ /* End of Outputs for SubSystem: '/Level 5' */ break; } /* End of SwitchCase: '/Switch Case' */ /* End of Outputs for SubSystem: '/Step 1 F' */ break; case 2: /* Outputs for IfAction SubSystem: '/Step 2 F' incorporates: * ActionPort: '/Action Port' */ /* SwitchCase: '/Switch Case' incorporates: * DataStoreRead: '/Data Store Read1' */ switch (rtDW.LEVEL) { case 0: /* Outputs for IfAction SubSystem: '/Level 0' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write8' incorporates: * DataStoreRead: '/Data Store Read10' * MATLAB Function: '/3 way valve status' */ uwayvalvestatus_m(rtDW.LEVEL, &ShutOffFront_EN); /* Sum: '/Add' incorporates: * DataStoreRead: '/Текущее значение blower ' * DataStoreRead: '/значение auto (в соответствии с логикой)' */ Eva_F_tg = (int16_t)((rtDW.Dtg_FLL - rtb_y_n) >> 1); /* MATLAB Function: '/step' incorporates: * DataStoreRead: '/Data Store Read9' */ Dtg_FrontLower_X(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* MATLAB Function: '/time for step' incorporates: * DataStoreRead: '/Data Store Read9' */ timeforstep(rtDW.LEVEL, &EN_BATTChiller); /* Abs: '/Abs' */ if (Eva_F_tg < 0) { Eva_F_tg = (int16_t)-Eva_F_tg; } /* Switch: '/Switch' incorporates: * Abs: '/Abs' * Constant: '/Constant' * Constant: '/epsilon' * DataStoreRead: '/Текущее значение blower ' * DataStoreRead: '/значение auto (в соответствии с логикой)' * DataStoreRead: '/текущее время в мс' * DataStoreWrite: '/Data Store Write12' * Gain: '/Gain1' * Product: '/Product1' * Product: '/change rate (dtg//sec)' * Product: '/скорость в мс' * Product: '/шаг изменения' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator' * Sum: '/Add' * Sum: '/Subtract' * Switch: '/Switch' * UnitDelay: '/Unit Delay' */ if ((double)Eva_F_tg * 2.0 <= 0.01) { rtDW.Dtg_FLR = (uint16_t)rtb_y_n; } else { if (rtDW.Dtg_FLL <= rtb_y_n) { /* Switch: '/Switch' incorporates: * Constant: '/Constant' */ rtb_Gain2 = 1; } else { /* Switch: '/Switch' incorporates: * Constant: '/Constant1' */ rtb_Gain2 = -1; } rtDW.Dtg_FLR = (uint16_t)rt_roundd(10.0 * (double)Comp_Max_RPM_Allowed / (double)EN_BATTChiller / 1000.0 * (double)(rtDW.t_now - rtDW.UnitDelay_DSTATE_k) * (double)rtb_Gain2 + (double)rtDW.Dtg_FLL); } /* End of Switch: '/Switch' */ /* DataStoreWrite: '/Data Store Write13' incorporates: * DataStoreWrite: '/Data Store Write12' */ rtDW.Dtg_FLL = rtDW.Dtg_FLR; /* Sum: '/Add' incorporates: * DataStoreRead: '/Текущее значение blower ' * DataStoreRead: '/значение auto (в соответствии с логикой)' */ Eva_F_tg = (int16_t)((rtDW.Dtg_FUL - rtb_FLU_tg_correct) >> 1); /* Abs: '/Abs' */ if (Eva_F_tg < 0) { Eva_F_tg = (int16_t)-Eva_F_tg; } /* End of Abs: '/Abs' */ /* MATLAB Function: '/step' incorporates: * DataStoreRead: '/Data Store Read8' */ Dtg_FrontUpper_X(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* MATLAB Function: '/time for step' incorporates: * DataStoreRead: '/Data Store Read8' */ timeforstep_d(rtDW.LEVEL, &EN_BATTChiller); /* Switch: '/Switch' incorporates: * Constant: '/Constant' * Constant: '/epsilon' * DataStoreRead: '/Текущее значение blower ' * DataStoreRead: '/значение auto (в соответствии с логикой)' * DataStoreRead: '/текущее время в мс' * DataStoreWrite: '/Data Store Write10' * Gain: '/Gain1' * Product: '/Product1' * Product: '/change rate (dtg//sec)' * Product: '/скорость в мс' * Product: '/шаг изменения' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator' * Sum: '/Add' * Sum: '/Subtract' * Switch: '/Switch' * UnitDelay: '/Unit Delay' */ if ((double)Eva_F_tg * 2.0 <= 0.01) { rtDW.Dtg_FUR = (uint16_t)rtb_FLU_tg_correct; } else { if (rtDW.Dtg_FUL <= rtb_FLU_tg_correct) { /* Switch: '/Switch' incorporates: * Constant: '/Constant' */ rtb_Gain2 = 1; } else { /* Switch: '/Switch' incorporates: * Constant: '/Constant1' */ rtb_Gain2 = -1; } rtDW.Dtg_FUR = (uint16_t)rt_roundd(10.0 * (double)Comp_Max_RPM_Allowed / (double)EN_BATTChiller / 1000.0 * (double)(rtDW.t_now - rtDW.UnitDelay_DSTATE_cm) * (double)rtb_Gain2 + (double)rtDW.Dtg_FUL); } /* End of Switch: '/Switch' */ /* DataStoreWrite: '/Data Store Write11' incorporates: * DataStoreWrite: '/Data Store Write10' */ rtDW.Dtg_FUL = rtDW.Dtg_FUR; /* DataStoreWrite: '/Data Store Write' incorporates: * DataStoreRead: '/Data Store Read1' * MATLAB Function: '/incar filter up' */ incarfilterup(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* DataStoreWrite: '/Data Store Write1' incorporates: * DataStoreRead: '/Data Store Read2' * MATLAB Function: '/incar filter down' */ incarfilterdown(rtDW.LEVEL, &EN_BATTChiller); /* MATLAB Function: '/step' incorporates: * DataStoreRead: '/Data Store Read5' */ step_g(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* MATLAB Function: '/time for step' incorporates: * DataStoreRead: '/Data Store Read5' */ timeforstep_f(rtDW.LEVEL, &EN_BATTChiller); /* Switch: '/Switch' incorporates: * Constant: '/epsilon' * DataStoreRead: '/Текущее значение blower ' * DataStoreRead: '/значение auto (в соответствии с логикой)' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator' * Sum: '/Add' * Switch: '/Switch' */ if ((uint8_t)(rtDW.Mode_FL - rtDW.Mode_logic_FL) <= 0.01) { /* DataStoreWrite: '/Data Store Write3' */ rtDW.Mode_FL = rtDW.Mode_logic_FL; } else { if (rtDW.Mode_FL <= rtDW.Mode_logic_FL) { /* Switch: '/Switch' incorporates: * Constant: '/Constant' */ rtb_Gain2 = 1; } else { /* Switch: '/Switch' incorporates: * Constant: '/Constant1' */ rtb_Gain2 = -1; } /* DataStoreWrite: '/Data Store Write3' incorporates: * Constant: '/Constant' * DataStoreRead: '/текущее время в мс' * Product: '/Product1' * Product: '/change rate (step//sec)' * Product: '/скорость в мс' * Product: '/шаг изменения' * Sum: '/Add' * Sum: '/Subtract' * Switch: '/Switch' * UnitDelay: '/Unit Delay' */ rtDW.Mode_FL = (uint8_t)((double)Comp_Max_RPM_Allowed / (double) EN_BATTChiller / 1000.0 * (double)(rtDW.t_now - rtDW.UnitDelay_DSTATE_f) * (double)rtb_Gain2 + (double)rtDW.Mode_FL); } /* End of Switch: '/Switch' */ /* MATLAB Function: '/blower step' incorporates: * DataStoreRead: '/Data Store Read7' */ /* : out = g_aucSTART_ELEC_WINDOW(LVL + 1 + 6); */ blowerstep(rtDW.LEVEL, &rtb_Saturation_as); /* MATLAB Function: '/blower time for step' incorporates: * DataStoreRead: '/Data Store Read7' */ blowertimeforstep(rtDW.LEVEL, &Gain1); /* Switch: '/Switch' incorporates: * Constant: '/Constant' * Constant: '/epsilon' * DataStoreRead: '/Текущее значение blower ' * DataStoreRead: '/значение auto (в соответствии с логикой)' * DataStoreRead: '/текущее время в мс' * Product: '/Product1' * Product: '/change rate (AF//sec)' * Product: '/скорость в мс' * Product: '/шаг изменения' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator' * Sum: '/Add' * Sum: '/Add' * Sum: '/Subtract' * Switch: '/Switch' * UnitDelay: '/Unit Delay' */ if ((uint8_t)(rtDW.Blower_FL - rtDW.Blower_logic_FL) <= 0.01) { index_start = rtDW.Blower_logic_FL; } else { if (rtDW.Blower_FL <= rtDW.Blower_logic_FL) { /* Switch: '/Switch' incorporates: * Constant: '/Constant' */ rtb_Gain2 = 1; } else { /* Switch: '/Switch' incorporates: * Constant: '/Constant1' */ rtb_Gain2 = -1; } index_start = (double)rtb_Saturation_as / (double)Gain1 / 1000.0 * (double)(rtDW.t_now - rtDW.UnitDelay_DSTATE_gc) * (double)rtb_Gain2 + (double)rtDW.Blower_FL; } /* End of Switch: '/Switch' */ /* DataTypeConversion: '/Data Type Conversion' incorporates: * DataStoreWrite: '/Data Store Write5' */ rtDW.Blower_FR = (uint8_t)index_start; /* DataStoreWrite: '/Data Store Write6' incorporates: * DataStoreWrite: '/Data Store Write5' */ rtDW.Blower_FL = rtDW.Blower_FR; /* DataStoreWrite: '/Data Store Write7' incorporates: * Constant: '/Recirc logic Partial REC' */ index_start = 1.0; /* RelationalOperator: '/Relational Operator2' incorporates: * DataStoreRead: '/Data Store Read11' */ WinterCondition_is_active_F = (rtDW.CCU_MODE_FL != 1); /* Logic: '/Logical Operator1' incorporates: * Constant: '/not LO or HI' * DataStoreRead: '/Data Store Read12' * RelationalOperator: '/Relational Operator3' */ WinterCondition_eTXV_ON_Front = (WinterCondition_is_active_F || (rtDW.LO_HI_MODE_FL != 0)); /* MATLAB Function: '/Time goto from step 2 to step 3 ' incorporates: * DataStoreRead: '/Data Store Read4' */ Timegotofromstep2tostep3(rtDW.LEVEL, &Eva_F_tg); /* MATLAB Function: '/MATLAB Function1' incorporates: * DataStoreRead: '/Data Store Read3' * Gain: '/из сек в мс' */ MATLABFunction1_j(rtDW.t_now, (uint32_t)(1000 * Eva_F_tg), &WinterCondition_is_active_F, &rtDW.sf_MATLABFunction1_m); /* Switch: '/Switch1' incorporates: * Switch: '/Switch' */ if (WinterCondition_eTXV_ON_Front) { /* Merge: '/Merge' incorporates: * Constant: '/exit algorithm' */ rtB.Merge_pe = 3; } else if (WinterCondition_is_active_F) { /* Switch: '/Switch' incorporates: * Constant: '/go to next step' * Merge: '/Merge' */ rtB.Merge_pe = 3; } else { /* Merge: '/Merge' incorporates: * Constant: '/stay at step' * Switch: '/Switch' */ rtB.Merge_pe = 2; } /* End of Switch: '/Switch1' */ /* Update for UnitDelay: '/Unit Delay' incorporates: * DataStoreRead: '/текущее время в мс' */ rtDW.UnitDelay_DSTATE_k = rtDW.t_now; /* Update for UnitDelay: '/Unit Delay' incorporates: * DataStoreRead: '/текущее время в мс' */ rtDW.UnitDelay_DSTATE_cm = rtDW.t_now; /* Update for UnitDelay: '/Unit Delay' incorporates: * DataStoreRead: '/текущее время в мс' */ rtDW.UnitDelay_DSTATE_f = rtDW.t_now; /* Update for UnitDelay: '/Unit Delay' incorporates: * DataStoreRead: '/текущее время в мс' */ rtDW.UnitDelay_DSTATE_gc = rtDW.t_now; /* End of Outputs for SubSystem: '/Level 0' */ break; case 1: /* Outputs for IfAction SubSystem: '/Level 1' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write8' incorporates: * DataStoreRead: '/Data Store Read10' * MATLAB Function: '/3 way valve status' */ uwayvalvestatus_m(rtDW.LEVEL, &ShutOffFront_EN); /* Sum: '/Add' incorporates: * DataStoreRead: '/Текущее значение blower ' * DataStoreRead: '/значение auto (в соответствии с логикой)' */ Eva_F_tg = (int16_t)((rtDW.Dtg_FLL - rtb_y_n) >> 1); /* MATLAB Function: '/step' incorporates: * DataStoreRead: '/Data Store Read9' */ Dtg_FrontLower_X(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* MATLAB Function: '/time for step' incorporates: * DataStoreRead: '/Data Store Read9' */ timeforstep(rtDW.LEVEL, &EN_BATTChiller); /* Abs: '/Abs' */ if (Eva_F_tg < 0) { Eva_F_tg = (int16_t)-Eva_F_tg; } /* Switch: '/Switch' incorporates: * Abs: '/Abs' * Constant: '/Constant' * Constant: '/epsilon' * DataStoreRead: '/Текущее значение blower ' * DataStoreRead: '/значение auto (в соответствии с логикой)' * DataStoreRead: '/текущее время в мс' * DataStoreWrite: '/Data Store Write12' * Gain: '/Gain1' * Product: '/Product1' * Product: '/change rate (dtg//sec)' * Product: '/скорость в мс' * Product: '/шаг изменения' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator' * Sum: '/Add' * Sum: '/Subtract' * Switch: '/Switch' * UnitDelay: '/Unit Delay' */ if ((double)Eva_F_tg * 2.0 <= 0.01) { rtDW.Dtg_FLR = (uint16_t)rtb_y_n; } else { if (rtDW.Dtg_FLL <= rtb_y_n) { /* Switch: '/Switch' incorporates: * Constant: '/Constant' */ rtb_Gain2 = 1; } else { /* Switch: '/Switch' incorporates: * Constant: '/Constant1' */ rtb_Gain2 = -1; } rtDW.Dtg_FLR = (uint16_t)rt_roundd(10.0 * (double)Comp_Max_RPM_Allowed / (double)EN_BATTChiller / 1000.0 * (double)(rtDW.t_now - rtDW.UnitDelay_DSTATE_mz) * (double)rtb_Gain2 + (double)rtDW.Dtg_FLL); } /* End of Switch: '/Switch' */ /* DataStoreWrite: '/Data Store Write13' incorporates: * DataStoreWrite: '/Data Store Write12' */ rtDW.Dtg_FLL = rtDW.Dtg_FLR; /* Sum: '/Add' incorporates: * DataStoreRead: '/Текущее значение blower ' * DataStoreRead: '/значение auto (в соответствии с логикой)' */ Eva_F_tg = (int16_t)((rtDW.Dtg_FUL - rtb_FLU_tg_correct) >> 1); /* Abs: '/Abs' */ if (Eva_F_tg < 0) { Eva_F_tg = (int16_t)-Eva_F_tg; } /* End of Abs: '/Abs' */ /* MATLAB Function: '/step' incorporates: * DataStoreRead: '/Data Store Read8' */ Dtg_FrontUpper_X(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* MATLAB Function: '/time for step' incorporates: * DataStoreRead: '/Data Store Read8' */ timeforstep_d(rtDW.LEVEL, &EN_BATTChiller); /* Switch: '/Switch' incorporates: * Constant: '/Constant' * Constant: '/epsilon' * DataStoreRead: '/Текущее значение blower ' * DataStoreRead: '/значение auto (в соответствии с логикой)' * DataStoreRead: '/текущее время в мс' * DataStoreWrite: '/Data Store Write10' * Gain: '/Gain1' * Product: '/Product1' * Product: '/change rate (dtg//sec)' * Product: '/скорость в мс' * Product: '/шаг изменения' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator' * Sum: '/Add' * Sum: '/Subtract' * Switch: '/Switch' * UnitDelay: '/Unit Delay' */ if ((double)Eva_F_tg * 2.0 <= 0.01) { rtDW.Dtg_FUR = (uint16_t)rtb_FLU_tg_correct; } else { if (rtDW.Dtg_FUL <= rtb_FLU_tg_correct) { /* Switch: '/Switch' incorporates: * Constant: '/Constant' */ rtb_Gain2 = 1; } else { /* Switch: '/Switch' incorporates: * Constant: '/Constant1' */ rtb_Gain2 = -1; } rtDW.Dtg_FUR = (uint16_t)rt_roundd(10.0 * (double)Comp_Max_RPM_Allowed / (double)EN_BATTChiller / 1000.0 * (double)(rtDW.t_now - rtDW.UnitDelay_DSTATE_n) * (double)rtb_Gain2 + (double)rtDW.Dtg_FUL); } /* End of Switch: '/Switch' */ /* DataStoreWrite: '/Data Store Write11' incorporates: * DataStoreWrite: '/Data Store Write10' */ rtDW.Dtg_FUL = rtDW.Dtg_FUR; /* DataStoreWrite: '/Data Store Write' incorporates: * DataStoreRead: '/Data Store Read1' * MATLAB Function: '/incar filter up' */ incarfilterup(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* DataStoreWrite: '/Data Store Write1' incorporates: * DataStoreRead: '/Data Store Read2' * MATLAB Function: '/incar filter down' */ incarfilterdown(rtDW.LEVEL, &EN_BATTChiller); /* Sum: '/Add' incorporates: * DataStoreRead: '/Текущее значение blower ' * DataStoreRead: '/значение auto (в соответствии с логикой)' */ Comp_Max_RPM_Allowed = (uint8_t)(rtDW.Mode_FL - rtDW.Mode_logic_FL); /* MATLAB Function: '/step' incorporates: * DataStoreRead: '/Data Store Read5' */ step_g(rtDW.LEVEL, &EN_BATTChiller); /* MATLAB Function: '/time for step' incorporates: * DataStoreRead: '/Data Store Read5' */ timeforstep_f(rtDW.LEVEL, &ShutOffFront_EN); /* Switch: '/Switch' incorporates: * Constant: '/epsilon' * DataStoreRead: '/Текущее значение blower ' * DataStoreRead: '/значение auto (в соответствии с логикой)' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator' * Switch: '/Switch' */ if (Comp_Max_RPM_Allowed <= 0.01) { /* DataStoreWrite: '/Data Store Write3' incorporates: * DataStoreRead: '/значение auto (в соответствии с логикой)' */ rtDW.Mode_FL = rtDW.Mode_logic_FL; } else { if (rtDW.Mode_FL <= rtDW.Mode_logic_FL) { /* Switch: '/Switch' incorporates: * Constant: '/Constant' */ rtb_Gain2 = 1; } else { /* Switch: '/Switch' incorporates: * Constant: '/Constant1' */ rtb_Gain2 = -1; } /* DataStoreWrite: '/Data Store Write3' incorporates: * Constant: '/Constant' * DataStoreRead: '/Текущее значение blower ' * DataStoreRead: '/текущее время в мс' * Product: '/Product1' * Product: '/change rate (step//sec)' * Product: '/скорость в мс' * Product: '/шаг изменения' * Sum: '/Add' * Sum: '/Subtract' * Switch: '/Switch' * UnitDelay: '/Unit Delay' */ rtDW.Mode_FL = (uint8_t)((double)EN_BATTChiller / (double) ShutOffFront_EN / 1000.0 * (double)(rtDW.t_now - rtDW.UnitDelay_DSTATE_le) * (double)rtb_Gain2 + (double)rtDW.Mode_FL); } /* End of Switch: '/Switch' */ /* MATLAB Function: '/window heating' incorporates: * DataStoreRead: '/Data Store Read6' */ windowheating_o(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* MATLAB Function: '/blower step' incorporates: * DataStoreRead: '/Data Store Read7' */ blowerstep(rtDW.LEVEL, &rtb_Saturation_as); /* MATLAB Function: '/blower time for step' incorporates: * DataStoreRead: '/Data Store Read7' */ blowertimeforstep(rtDW.LEVEL, &Gain1); /* Switch: '/Switch' incorporates: * Constant: '/Constant' * Constant: '/epsilon' * DataStoreRead: '/Текущее значение blower ' * DataStoreRead: '/значение auto (в соответствии с логикой)' * DataStoreRead: '/текущее время в мс' * Product: '/Product1' * Product: '/change rate (step//sec)' * Product: '/скорость в мс' * Product: '/шаг изменения' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator' * Sum: '/Add' * Sum: '/Add' * Sum: '/Subtract' * Switch: '/Switch' * UnitDelay: '/Unit Delay' */ if ((uint8_t)(rtDW.Blower_FL - rtDW.Blower_logic_FL) <= 0.01) { index_start = rtDW.Blower_logic_FL; } else { if (rtDW.Blower_FL <= rtDW.Blower_logic_FL) { /* Switch: '/Switch' incorporates: * Constant: '/Constant' */ rtb_Gain2 = 1; } else { /* Switch: '/Switch' incorporates: * Constant: '/Constant1' */ rtb_Gain2 = -1; } index_start = (double)rtb_Saturation_as / (double)Gain1 / 1000.0 * (double)(rtDW.t_now - rtDW.UnitDelay_DSTATE_cb) * (double)rtb_Gain2 + (double)rtDW.Blower_FL; } /* End of Switch: '/Switch' */ /* DataTypeConversion: '/Data Type Conversion' incorporates: * DataStoreWrite: '/Data Store Write5' */ rtDW.Blower_FR = (uint8_t)index_start; /* DataStoreWrite: '/Data Store Write6' incorporates: * DataStoreWrite: '/Data Store Write5' */ rtDW.Blower_FL = rtDW.Blower_FR; /* DataStoreWrite: '/Data Store Write7' incorporates: * Constant: '/Recirc logic Partial REC' */ index_start = 1.0; /* RelationalOperator: '/Relational Operator2' incorporates: * DataStoreRead: '/Data Store Read11' */ WinterCondition_is_active_F = (rtDW.CCU_MODE_FL != 1); /* Logic: '/Logical Operator1' incorporates: * Constant: '/not LO or HI' * DataStoreRead: '/Data Store Read12' * RelationalOperator: '/Relational Operator3' */ WinterCondition_eTXV_ON_Front = (WinterCondition_is_active_F || (rtDW.LO_HI_MODE_FL != 0)); /* MATLAB Function: '/Time goto from step 2 to step 3 ' incorporates: * DataStoreRead: '/Data Store Read4' */ Timegotofromstep2tostep3(rtDW.LEVEL, &Eva_F_tg); /* MATLAB Function: '/MATLAB Function1' incorporates: * DataStoreRead: '/Data Store Read3' * Gain: '/из сек в мс' */ MATLABFunction1_j(rtDW.t_now, (uint32_t)(1000 * Eva_F_tg), &WinterCondition_is_active_F, &rtDW.sf_MATLABFunction1_i2); /* Switch: '/Switch1' incorporates: * Switch: '/Switch' */ if (WinterCondition_eTXV_ON_Front) { /* Merge: '/Merge' incorporates: * Constant: '/exit algorithm' */ rtB.Merge_pe = 3; } else if (WinterCondition_is_active_F) { /* Switch: '/Switch' incorporates: * Constant: '/go to next step' * Merge: '/Merge' */ rtB.Merge_pe = 3; } else { /* Merge: '/Merge' incorporates: * Constant: '/stay at step' * Switch: '/Switch' */ rtB.Merge_pe = 2; } /* End of Switch: '/Switch1' */ /* Update for UnitDelay: '/Unit Delay' incorporates: * DataStoreRead: '/текущее время в мс' */ rtDW.UnitDelay_DSTATE_mz = rtDW.t_now; /* Update for UnitDelay: '/Unit Delay' incorporates: * DataStoreRead: '/текущее время в мс' */ rtDW.UnitDelay_DSTATE_n = rtDW.t_now; /* Update for UnitDelay: '/Unit Delay' incorporates: * DataStoreRead: '/текущее время в мс' */ rtDW.UnitDelay_DSTATE_le = rtDW.t_now; /* Update for UnitDelay: '/Unit Delay' incorporates: * DataStoreRead: '/текущее время в мс' */ rtDW.UnitDelay_DSTATE_cb = rtDW.t_now; /* End of Outputs for SubSystem: '/Level 1' */ break; case 2: /* Outputs for IfAction SubSystem: '/Level 2' incorporates: * ActionPort: '/Action Port' */ Level2(&rtB.Merge_pe); /* End of Outputs for SubSystem: '/Level 2' */ break; case 3: /* Outputs for IfAction SubSystem: '/Level 3' incorporates: * ActionPort: '/Action Port' */ Level3(&rtB.Merge_pe, &ShutOffRear_EN, &rtDW.Blower_FL, &rtDW.Blower_FR, &rtDW.Blower_logic_FL, &rtDW.CCU_MODE_FL, &rtDW.Dtg_FLL, &rtDW.Dtg_FLR, &rtDW.Dtg_FUL, &rtDW.Dtg_FUR, &rtb_y_n, &rtb_FLU_tg_correct, &El_window_heating, &rtDW.HI_logic_on, &EN_BATTChiller, &Comp_Max_RPM_Allowed, &rtDW.LEVEL, &rtDW.LO_HI_MODE_FL, &rtDW.Mode_FL, &Mode_FR, &rtDW.Mode_logic_FL, &index_start, &ShutOffFront_EN, &rtDW.t_now, &rtDW.Level3_d); /* End of Outputs for SubSystem: '/Level 3' */ break; case 4: /* Outputs for IfAction SubSystem: '/Level 4' incorporates: * ActionPort: '/Action Port' */ Level3(&rtB.Merge_pe, &ShutOffRear_EN, &rtDW.Blower_FL, &rtDW.Blower_FR, &rtDW.Blower_logic_FL, &rtDW.CCU_MODE_FL, &rtDW.Dtg_FLL, &rtDW.Dtg_FLR, &rtDW.Dtg_FUL, &rtDW.Dtg_FUR, &rtb_y_n, &rtb_FLU_tg_correct, &El_window_heating, &rtDW.HI_logic_on, &EN_BATTChiller, &Comp_Max_RPM_Allowed, &rtDW.LEVEL, &rtDW.LO_HI_MODE_FL, &rtDW.Mode_FL, &Mode_FR, &rtDW.Mode_logic_FL, &index_start, &ShutOffFront_EN, &rtDW.t_now, &rtDW.Level4_l); /* End of Outputs for SubSystem: '/Level 4' */ break; case 5: /* Outputs for IfAction SubSystem: '/Level 5' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write8' incorporates: * DataStoreRead: '/Data Store Read10' * MATLAB Function: '/3 way valve status' */ uwayvalvestatus_m(rtDW.LEVEL, &ShutOffFront_EN); /* Sum: '/Add' incorporates: * DataStoreRead: '/Текущее значение blower ' * DataStoreRead: '/значение auto (в соответствии с логикой)' */ Eva_F_tg = (int16_t)((rtDW.Dtg_FLL - rtb_y_n) >> 1); /* MATLAB Function: '/step' incorporates: * DataStoreRead: '/Data Store Read9' */ Dtg_FrontLower_X(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* MATLAB Function: '/time for step' incorporates: * DataStoreRead: '/Data Store Read9' */ timeforstep(rtDW.LEVEL, &EN_BATTChiller); /* Abs: '/Abs' */ if (Eva_F_tg < 0) { Eva_F_tg = (int16_t)-Eva_F_tg; } /* Switch: '/Switch' incorporates: * Abs: '/Abs' * Constant: '/Constant' * Constant: '/epsilon' * DataStoreRead: '/Текущее значение blower ' * DataStoreRead: '/значение auto (в соответствии с логикой)' * DataStoreRead: '/текущее время в мс' * DataStoreWrite: '/Data Store Write12' * Gain: '/Gain1' * Product: '/Product1' * Product: '/change rate (dtg//sec)' * Product: '/скорость в мс' * Product: '/шаг изменения' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator' * Sum: '/Add' * Sum: '/Subtract' * Switch: '/Switch' * UnitDelay: '/Unit Delay' */ if ((double)Eva_F_tg * 2.0 <= 0.01) { rtDW.Dtg_FLR = (uint16_t)rtb_y_n; } else { if (rtDW.Dtg_FLL <= rtb_y_n) { /* Switch: '/Switch' incorporates: * Constant: '/Constant' */ rtb_Gain2 = 1; } else { /* Switch: '/Switch' incorporates: * Constant: '/Constant1' */ rtb_Gain2 = -1; } rtDW.Dtg_FLR = (uint16_t)rt_roundd(10.0 * (double)Comp_Max_RPM_Allowed / (double)EN_BATTChiller / 1000.0 * (double)(rtDW.t_now - rtDW.UnitDelay_DSTATE_g) * (double)rtb_Gain2 + (double)rtDW.Dtg_FLL); } /* End of Switch: '/Switch' */ /* DataStoreWrite: '/Data Store Write13' incorporates: * DataStoreWrite: '/Data Store Write12' */ rtDW.Dtg_FLL = rtDW.Dtg_FLR; /* Sum: '/Add' incorporates: * DataStoreRead: '/Текущее значение blower ' * DataStoreRead: '/значение auto (в соответствии с логикой)' */ Eva_F_tg = (int16_t)((rtDW.Dtg_FUL - rtb_FLU_tg_correct) >> 1); /* Abs: '/Abs' */ if (Eva_F_tg < 0) { Eva_F_tg = (int16_t)-Eva_F_tg; } /* End of Abs: '/Abs' */ /* MATLAB Function: '/step' incorporates: * DataStoreRead: '/Data Store Read8' */ Dtg_FrontUpper_X(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* MATLAB Function: '/time for step' incorporates: * DataStoreRead: '/Data Store Read8' */ timeforstep_d(rtDW.LEVEL, &EN_BATTChiller); /* Switch: '/Switch' incorporates: * Constant: '/Constant' * Constant: '/epsilon' * DataStoreRead: '/Текущее значение blower ' * DataStoreRead: '/значение auto (в соответствии с логикой)' * DataStoreRead: '/текущее время в мс' * DataStoreWrite: '/Data Store Write10' * Gain: '/Gain1' * Product: '/Product1' * Product: '/change rate (dtg//sec)' * Product: '/скорость в мс' * Product: '/шаг изменения' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator' * Sum: '/Add' * Sum: '/Subtract' * Switch: '/Switch' * UnitDelay: '/Unit Delay' */ if ((double)Eva_F_tg * 2.0 <= 0.01) { rtDW.Dtg_FUR = (uint16_t)rtb_FLU_tg_correct; } else { if (rtDW.Dtg_FUL <= rtb_FLU_tg_correct) { /* Switch: '/Switch' incorporates: * Constant: '/Constant' */ rtb_Gain2 = 1; } else { /* Switch: '/Switch' incorporates: * Constant: '/Constant1' */ rtb_Gain2 = -1; } rtDW.Dtg_FUR = (uint16_t)rt_roundd(10.0 * (double)Comp_Max_RPM_Allowed / (double)EN_BATTChiller / 1000.0 * (double)(rtDW.t_now - rtDW.UnitDelay_DSTATE_h) * (double)rtb_Gain2 + (double)rtDW.Dtg_FUL); } /* End of Switch: '/Switch' */ /* DataStoreWrite: '/Data Store Write11' incorporates: * DataStoreWrite: '/Data Store Write10' */ rtDW.Dtg_FUL = rtDW.Dtg_FUR; /* DataStoreWrite: '/Data Store Write' incorporates: * DataStoreRead: '/Data Store Read1' * MATLAB Function: '/incar filter up' */ incarfilterup(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* DataStoreWrite: '/Data Store Write1' incorporates: * DataStoreRead: '/Data Store Read2' * MATLAB Function: '/incar filter down' */ incarfilterdown(rtDW.LEVEL, &EN_BATTChiller); /* MATLAB Function: '/autodemist (autodefog)' incorporates: * DataStoreRead: '/Data Store Read3' */ autodemistautodefog(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* Sum: '/Add' incorporates: * DataStoreRead: '/Текущее значение blower ' * DataStoreRead: '/значение auto (в соответствии с логикой)' */ EN_BATTChiller = (uint8_t)(rtDW.Mode_FL - rtDW.Mode_logic_FL); /* MATLAB Function: '/step' incorporates: * DataStoreRead: '/Data Store Read5' */ step_g(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* MATLAB Function: '/time for step' incorporates: * DataStoreRead: '/Data Store Read5' */ timeforstep_f(rtDW.LEVEL, &ShutOffFront_EN); /* Switch: '/Switch' incorporates: * Constant: '/epsilon' * DataStoreRead: '/Текущее значение blower ' * DataStoreRead: '/значение auto (в соответствии с логикой)' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator' * Switch: '/Switch' */ if (EN_BATTChiller <= 0.01) { /* DataStoreWrite: '/Data Store Write3' incorporates: * DataStoreRead: '/значение auto (в соответствии с логикой)' */ rtDW.Mode_FL = rtDW.Mode_logic_FL; } else { if (rtDW.Mode_FL <= rtDW.Mode_logic_FL) { /* Switch: '/Switch' incorporates: * Constant: '/Constant' */ rtb_Gain2 = 1; } else { /* Switch: '/Switch' incorporates: * Constant: '/Constant1' */ rtb_Gain2 = -1; } /* DataStoreWrite: '/Data Store Write3' incorporates: * Constant: '/Constant' * DataStoreRead: '/Текущее значение blower ' * DataStoreRead: '/текущее время в мс' * Product: '/Product1' * Product: '/change rate (step//sec)' * Product: '/скорость в мс' * Product: '/шаг изменения' * Sum: '/Add' * Sum: '/Subtract' * Switch: '/Switch' * UnitDelay: '/Unit Delay' */ rtDW.Mode_FL = (uint8_t)((double)Comp_Max_RPM_Allowed / (double) ShutOffFront_EN / 1000.0 * (double)(rtDW.t_now - rtDW.UnitDelay_DSTATE_ly) * (double)rtb_Gain2 + (double)rtDW.Mode_FL); } /* End of Switch: '/Switch' */ /* MATLAB Function: '/window heating' incorporates: * DataStoreRead: '/Data Store Read6' */ windowheating_o(rtDW.LEVEL, &EN_BATTChiller); /* MATLAB Function: '/blower step' incorporates: * DataStoreRead: '/Data Store Read7' */ blowerstep(rtDW.LEVEL, &rtb_Saturation_as); /* MATLAB Function: '/blower time for step' incorporates: * DataStoreRead: '/Data Store Read7' */ blowertimeforstep(rtDW.LEVEL, &Gain1); /* Switch: '/Switch' incorporates: * Constant: '/Constant' * Constant: '/epsilon' * DataStoreRead: '/Текущее значение blower ' * DataStoreRead: '/значение auto (в соответствии с логикой)' * DataStoreRead: '/текущее время в мс' * Product: '/Product1' * Product: '/change rate (step//sec)' * Product: '/скорость в мс' * Product: '/шаг изменения' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator' * Sum: '/Add' * Sum: '/Add' * Sum: '/Subtract' * Switch: '/Switch' * UnitDelay: '/Unit Delay' */ if ((uint8_t)(rtDW.Blower_FL - rtDW.Blower_logic_FL) <= 0.01) { index_start = rtDW.Blower_logic_FL; } else { if (rtDW.Blower_FL <= rtDW.Blower_logic_FL) { /* Switch: '/Switch' incorporates: * Constant: '/Constant' */ rtb_Gain2 = 1; } else { /* Switch: '/Switch' incorporates: * Constant: '/Constant1' */ rtb_Gain2 = -1; } index_start = (double)rtb_Saturation_as / (double)Gain1 / 1000.0 * (double)(rtDW.t_now - rtDW.UnitDelay_DSTATE_gu) * (double)rtb_Gain2 + (double)rtDW.Blower_FL; } /* End of Switch: '/Switch' */ /* DataTypeConversion: '/Data Type Conversion' incorporates: * DataStoreWrite: '/Data Store Write5' */ rtDW.Blower_FR = (uint8_t)index_start; /* DataStoreWrite: '/Data Store Write6' incorporates: * DataStoreWrite: '/Data Store Write5' */ rtDW.Blower_FL = rtDW.Blower_FR; /* DataStoreWrite: '/Data Store Write7' incorporates: * Constant: '/Recirc logic Partial REC' */ index_start = 1.0; /* MATLAB Function: '/Time goto from step 2 to step 3 ' incorporates: * DataStoreRead: '/Data Store Read4' */ Timegotofromstep2tostep3(rtDW.LEVEL, &Eva_F_tg); /* MATLAB Function: '/MATLAB Function1' incorporates: * DataStoreRead: '/Data Store Read13' * Gain: '/из сек в мс' */ MATLABFunction1_j(rtDW.t_now, (uint32_t)(1000 * Eva_F_tg), &WinterCondition_is_active_F, &rtDW.sf_MATLABFunction1_j2); /* Switch: '/Switch1' incorporates: * Constant: '/not LO or HI' * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read11' * DataStoreRead: '/Data Store Read12' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator3' * Switch: '/Switch' */ if ((rtDW.CCU_MODE_FL != 1) || (rtDW.LO_HI_MODE_FL != 0)) { /* Merge: '/Merge' incorporates: * Constant: '/exit algorithm' */ rtB.Merge_pe = 3; } else if (WinterCondition_is_active_F || rtDW.HI_logic_on) { /* Switch: '/Switch' incorporates: * Constant: '/go to next step' * Merge: '/Merge' */ rtB.Merge_pe = 3; } else { /* Merge: '/Merge' incorporates: * Constant: '/stay at step' * Switch: '/Switch' */ rtB.Merge_pe = 2; } /* End of Switch: '/Switch1' */ /* Update for UnitDelay: '/Unit Delay' incorporates: * DataStoreRead: '/текущее время в мс' */ rtDW.UnitDelay_DSTATE_g = rtDW.t_now; /* Update for UnitDelay: '/Unit Delay' incorporates: * DataStoreRead: '/текущее время в мс' */ rtDW.UnitDelay_DSTATE_h = rtDW.t_now; /* Update for UnitDelay: '/Unit Delay' incorporates: * DataStoreRead: '/текущее время в мс' */ rtDW.UnitDelay_DSTATE_ly = rtDW.t_now; /* Update for UnitDelay: '/Unit Delay' incorporates: * DataStoreRead: '/текущее время в мс' */ rtDW.UnitDelay_DSTATE_gu = rtDW.t_now; /* End of Outputs for SubSystem: '/Level 5' */ break; } /* End of SwitchCase: '/Switch Case' */ /* End of Outputs for SubSystem: '/Step 2 F' */ break; case 3: /* Outputs for IfAction SubSystem: '/Step 3 F' incorporates: * ActionPort: '/Action Port' */ Step3F(&rtB.Merge_pe, &rtDW.start_control_finished_front); /* End of Outputs for SubSystem: '/Step 3 F' */ break; } /* End of SwitchCase: '/Switch Case' */ /* DataStoreWrite: '/Data Store Write' */ rtDW.step_start_controle_front = rtB.Merge_pe; /* End of Outputs for SubSystem: '/Start Control Front' */ } /* End of If: '/если SC front не завершен2' */ /* Saturate: '/from 0 to 3' incorporates: * Constant: '/Constant' * Sum: '/Add' * UnitDelay: '/Unit Delay' */ if (rtDW.UnitDelay_DSTATE_b + 1.0 > 3.0) { /* Saturate: '/from 0 to 3' */ rtDW.UnitDelay_DSTATE_b = 3.0; } else if (rtDW.UnitDelay_DSTATE_b + 1.0 < 0.0) { /* Saturate: '/from 0 to 3' */ rtDW.UnitDelay_DSTATE_b = 0.0; } else { /* Saturate: '/from 0 to 3' */ rtDW.UnitDelay_DSTATE_b++; } /* End of Saturate: '/from 0 to 3' */ /* If: '/если SC front не завершен3' incorporates: * DataStoreRead: '/Data Store Read3' * DataTypeConversion: '/Data Type Conversion1' * DataTypeConversion: '/Data Type Conversion3' */ if (((uint8_t)rtDW.start_control_finished_rear == 0) && ((uint8_t) rtDW.UnitDelay_DSTATE_b >= 2)) { /* Outputs for IfAction SubSystem: '/Start Control Rear' incorporates: * ActionPort: '/Action Port' */ /* SwitchCase: '/Switch Case' incorporates: * DataStoreRead: '/Data Store Read' */ switch (rtDW.step_start_controle_rear) { case -1: /* Outputs for IfAction SubSystem: '/Step -1 R (Entry Condition)' incorporates: * ActionPort: '/Action Port' */ /* SwitchCase: '/Switch Case' incorporates: * DataStoreRead: '/Data Store Read1' */ switch (rtDW.LEVEL) { case 0: /* Outputs for IfAction SubSystem: '/Level 0' incorporates: * ActionPort: '/Action Port' */ /* MATLAB Function: '/g_ausSTART_ENTER_SETTEMP' incorporates: * DataStoreRead: '/Data Store Read4' */ /* : out = int16(g_assSTART_ENTER_INCAR(LVL + 1 + 6)); */ g_ausSTART_ENTER_SETTEMP_i(rtDW.LEVEL, &rtb_y_hg); /* MATLAB Function: '/g_assSTART_ENTER_INCAR' incorporates: * DataStoreRead: '/Data Store Read3' */ rtb_Gain2 = (int32_t)(rtDW.LEVEL + 1U); if (rtDW.LEVEL + 1U > 255U) { rtb_Gain2 = 255; } index_start_0 = (int32_t)((uint32_t)rtb_Gain2 + 6U); if ((uint32_t)rtb_Gain2 + 6U > 255U) { index_start_0 = 255; } /* Switch: '/Switch' incorporates: * Constant: '/not LO or HI' * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read5' * Logic: '/AND' * MATLAB Function: '/g_assSTART_ENTER_INCAR' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator3' */ if ((rtDW.Incar_RR > g_assSTART_ENTER_INCAR[index_start_0 - 1]) && (rtDW.CCU_MODE_RR == 1) && (rtDW.CCU_SET_RR < rtb_y_hg) && (rtDW.LO_HI_MODE_RR == 0)) { /* Merge: '/Merge' incorporates: * Constant: '/Constant1' */ rtB.Merge_a0 = 1; } else { /* Merge: '/Merge' incorporates: * Constant: '/Constant' */ rtB.Merge_a0 = -1; } /* End of Switch: '/Switch' */ /* End of Outputs for SubSystem: '/Level 0' */ break; case 1: /* Outputs for IfAction SubSystem: '/Level 1' incorporates: * ActionPort: '/Action Port' */ /* MATLAB Function: '/g_assSTART_ENTER_INCAR' incorporates: * DataStoreRead: '/Data Store Read3' */ g_assSTART_ENTER_INCAR_f(rtDW.LEVEL, &rtb_y_hg); /* MATLAB Function: '/g_ausSTART_ENTER_SETTEMP' incorporates: * DataStoreRead: '/Data Store Read4' */ g_ausSTART_ENTER_SETTEMP_i(rtDW.LEVEL, &rtb_FLU_tg_correct); /* Switch: '/Switch' incorporates: * Constant: '/not LO or HI' * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read5' * Logic: '/AND' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator3' */ if ((rtDW.Incar_RR > rtb_y_hg) && (rtDW.CCU_MODE_RR == 1) && (rtDW.CCU_SET_RR < rtb_FLU_tg_correct) && (rtDW.LO_HI_MODE_RR == 0)) { /* Merge: '/Merge' incorporates: * Constant: '/Constant1' */ rtB.Merge_a0 = 1; } else { /* Merge: '/Merge' incorporates: * Constant: '/Constant' */ rtB.Merge_a0 = -1; } /* End of Switch: '/Switch' */ /* End of Outputs for SubSystem: '/Level 1' */ break; case 2: /* Outputs for IfAction SubSystem: '/Level 2' incorporates: * ActionPort: '/Action Port' */ /* MATLAB Function: '/g_assSTART_ENTER_INCAR' incorporates: * DataStoreRead: '/Data Store Read3' */ g_assSTART_ENTER_INCAR_f(rtDW.LEVEL, &rtb_y_hg); /* MATLAB Function: '/g_ausSTART_ENTER_SETTEMP' incorporates: * DataStoreRead: '/Data Store Read4' */ g_ausSTART_ENTER_SETTEMP_i(rtDW.LEVEL, &rtb_FLU_tg_correct); /* Switch: '/Switch' incorporates: * Constant: '/LOW' * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read5' * Logic: '/AND' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator3' */ if ((rtDW.Incar_RR < rtb_y_hg) && (rtDW.CCU_MODE_RR == 1) && (rtDW.CCU_SET_RR > rtb_FLU_tg_correct) && (rtDW.LO_HI_MODE_RR != 1)) { /* Merge: '/Merge' incorporates: * Constant: '/Constant1' */ rtB.Merge_a0 = 0; } else { /* Merge: '/Merge' incorporates: * Constant: '/Constant' */ rtB.Merge_a0 = -1; } /* End of Switch: '/Switch' */ /* End of Outputs for SubSystem: '/Level 2' */ break; case 3: /* Outputs for IfAction SubSystem: '/Level 3' incorporates: * ActionPort: '/Action Port' */ /* MATLAB Function: '/g_assSTART_ENTER_INCAR' incorporates: * DataStoreRead: '/Data Store Read4' */ g_assSTART_ENTER_INCAR_f(rtDW.LEVEL, &rtb_y_hg); /* MATLAB Function: '/g_assSTART_ENTER_COOLANT ' incorporates: * DataStoreRead: '/Data Store Read3' */ g_assSTART_ENTER_COOLANT_m1(rtDW.LEVEL, &rtb_FLU_tg_correct); /* MATLAB Function: '/g_ausSTART_ENTER_SETTEMP' incorporates: * DataStoreRead: '/Data Store Read6' */ /* : out = int16(g_ausSTART_ENTER_SETTEMP(LVL+1+6)); */ rtb_Gain2 = (int32_t)(rtDW.LEVEL + 1U); if (rtDW.LEVEL + 1U > 255U) { rtb_Gain2 = 255; } index_start_0 = (int32_t)((uint32_t)rtb_Gain2 + 6U); if ((uint32_t)rtb_Gain2 + 6U > 255U) { index_start_0 = 255; } rtb_out_ihi = g_ausSTART_ENTER_SETTEMP[index_start_0 - 1]; if (rtb_out_ihi > 32767) { rtb_out_ihi = 32767U; } /* Switch: '/Switch' incorporates: * Constant: '/LOW' * DataStoreRead: '/Data Store Read' * DataStoreRead: '/Data Store Read1' * DataStoreRead: '/Data Store Read2' * DataStoreRead: '/Data Store Read5' * DataStoreRead: '/Data Store Read7' * Logic: '/AND' * Logic: '/AND1' * MATLAB Function: '/g_ausSTART_ENTER_SETTEMP' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator3' * RelationalOperator: '/Relational Operator4' */ if (((rtDW.Incar_RR < rtb_y_hg) || (rtDW.ECT < rtb_FLU_tg_correct)) && (rtDW.CCU_MODE_RR == 1) && (rtDW.CCU_SET_RR > rtb_out_ihi) && (rtDW.LO_HI_MODE_RR != 1)) { /* Merge: '/Merge' incorporates: * Constant: '/Constant1' */ rtB.Merge_a0 = 0; } else { /* Merge: '/Merge' incorporates: * Constant: '/Constant' */ rtB.Merge_a0 = -1; } /* End of Switch: '/Switch' */ /* End of Outputs for SubSystem: '/Level 3' */ break; case 4: /* Outputs for IfAction SubSystem: '/Level 4' incorporates: * ActionPort: '/Action Port' */ Level4_j(&rtB.Merge_a0, &rtDW.CCU_MODE_RR, &rtDW.ECT, &rtDW.Incar_RR, &rtDW.LEVEL, &rtDW.LO_HI_MODE_RR); /* End of Outputs for SubSystem: '/Level 4' */ break; case 5: /* Outputs for IfAction SubSystem: '/Level 5' incorporates: * ActionPort: '/Action Port' */ Level4_j(&rtB.Merge_a0, &rtDW.CCU_MODE_RR, &rtDW.ECT, &rtDW.Incar_RR, &rtDW.LEVEL, &rtDW.LO_HI_MODE_RR); /* End of Outputs for SubSystem: '/Level 5' */ break; } /* End of SwitchCase: '/Switch Case' */ /* End of Outputs for SubSystem: '/Step -1 R (Entry Condition)' */ break; case 0: /* Outputs for IfAction SubSystem: '/Step 0 R' incorporates: * ActionPort: '/Action Port' */ /* SwitchCase: '/Switch Case' incorporates: * DataStoreRead: '/Data Store Read1' */ switch (rtDW.LEVEL) { case 0: /* Outputs for IfAction SubSystem: '/Level 0' incorporates: * ActionPort: '/Action Port' */ Level0(&rtB.Merge_a0); /* End of Outputs for SubSystem: '/Level 0' */ break; case 1: /* Outputs for IfAction SubSystem: '/Level 1' incorporates: * ActionPort: '/Action Port' */ Level0(&rtB.Merge_a0); /* End of Outputs for SubSystem: '/Level 1' */ break; case 2: /* Outputs for IfAction SubSystem: '/Level 2' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write5' incorporates: * Constant: '/Constant2' */ rtDW.Blower_RR = 10U; /* DataStoreWrite: '/Data Store Write6' incorporates: * Constant: '/Constant3' */ rtDW.Blower_RL = 10U; /* DataStoreWrite: '/Data Store Write10' incorporates: * Constant: '/Constant4' */ rtDW.Dtg_RR = 650U; /* DataStoreWrite: '/Data Store Write11' incorporates: * Constant: '/Constant4' */ rtDW.Dtg_RL = 650U; /* MATLAB Function: '/incar filter up' incorporates: * DataStoreRead: '/Data Store Read1' */ incarfilterup_j(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* MATLAB Function: '/incar filter down' incorporates: * DataStoreRead: '/Data Store Read2' */ incarfilterdown_m(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* DataStoreWrite: '/Data Store Write2' incorporates: * Constant: '/Mode - foot' */ rtDW.Mode_RR = 60U; /* DataStoreWrite: '/Data Store Write3' incorporates: * Constant: '/Mode - foot' */ rtDW.Mode_RL = 60U; /* Switch: '/Switch1' incorporates: * Constant: '/LO' * DataStoreRead: '/Data Store Read11' * DataStoreRead: '/Data Store Read12' * Logic: '/Logical Operator1' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator3' */ /* : out = int16(g_assSTART_COOLANT_STEP0_TO_1(LVL + 3)); */ if ((rtDW.CCU_MODE_RR != 1) || (rtDW.LO_HI_MODE_RR == 1)) { /* Merge: '/Merge' incorporates: * Constant: '/exit algorithm' */ rtB.Merge_a0 = 3; } else { /* MATLAB Function: '/g_assSTART_COOLANT_STEP0_TO_1 ' incorporates: * DataStoreRead: '/Data Store Read3' */ rtb_Gain2 = (int32_t)(rtDW.LEVEL + 3U); if (rtDW.LEVEL + 3U > 255U) { rtb_Gain2 = 255; } /* Merge: '/Merge' incorporates: * DataStoreRead: '/Engine coolant temp' * MATLAB Function: '/g_assSTART_COOLANT_STEP0_TO_1 ' * RelationalOperator: '/Relational Operator' */ rtB.Merge_a0 = (int8_t)(rtDW.ECT > g_assSTART_COOLANT_STEP0_TO_1[rtb_Gain2 - 1]); } /* End of Switch: '/Switch1' */ /* End of Outputs for SubSystem: '/Level 2' */ break; case 3: /* Outputs for IfAction SubSystem: '/Level 3' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write5' incorporates: * Constant: '/Constant2' */ rtDW.Blower_RR = 10U; /* DataStoreWrite: '/Data Store Write6' incorporates: * Constant: '/Constant3' */ rtDW.Blower_RL = 10U; /* DataStoreWrite: '/Data Store Write10' incorporates: * Constant: '/Constant4' */ rtDW.Dtg_RR = 650U; /* DataStoreWrite: '/Data Store Write11' incorporates: * Constant: '/Constant4' */ rtDW.Dtg_RL = 650U; /* MATLAB Function: '/incar filter up' incorporates: * DataStoreRead: '/Data Store Read1' */ incarfilterup_j(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* MATLAB Function: '/incar filter down' incorporates: * DataStoreRead: '/Data Store Read2' */ incarfilterdown_m(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* DataStoreWrite: '/Data Store Write2' incorporates: * Constant: '/Mode - foot' */ rtDW.Mode_RR = 60U; /* DataStoreWrite: '/Data Store Write3' incorporates: * Constant: '/Mode - foot' */ rtDW.Mode_RL = 60U; /* Merge: '/Merge' incorporates: * SignalConversion generated from: '/step1' */ rtB.Merge_a0 = 0; /* MATLAB Function: '/g_assSTART_COOLANT_STEP0_TO_1 ' incorporates: * DataStoreRead: '/Data Store Read3' */ g_assSTART_COOLANT_STEP0_TO_1_j(rtDW.LEVEL, &rtb_y_hg); /* End of Outputs for SubSystem: '/Level 3' */ break; case 4: /* Outputs for IfAction SubSystem: '/Level 4' incorporates: * ActionPort: '/Action Port' */ Level4_h(&rtB.Merge_a0, &rtDW.Blower_RL, &rtDW.Blower_RR, &rtDW.CCU_MODE_RR, &rtDW.Dtg_RL, &rtDW.Dtg_RR, &rtDW.ECT, &EN_BATTChiller, &Comp_Max_RPM_Allowed, &rtDW.LEVEL, &rtDW.LO_HI_MODE_RR, &rtDW.Mode_RL, &rtDW.Mode_RR, &ShutOffRear_EN, &ShutOffFront_EN); /* End of Outputs for SubSystem: '/Level 4' */ break; case 5: /* Outputs for IfAction SubSystem: '/Level 5' incorporates: * ActionPort: '/Action Port' */ Level4_h(&rtB.Merge_a0, &rtDW.Blower_RL, &rtDW.Blower_RR, &rtDW.CCU_MODE_RR, &rtDW.Dtg_RL, &rtDW.Dtg_RR, &rtDW.ECT, &EN_BATTChiller, &Comp_Max_RPM_Allowed, &rtDW.LEVEL, &rtDW.LO_HI_MODE_RR, &rtDW.Mode_RL, &rtDW.Mode_RR, &ShutOffRear_EN, &ShutOffFront_EN); /* End of Outputs for SubSystem: '/Level 5' */ break; } /* End of SwitchCase: '/Switch Case' */ /* End of Outputs for SubSystem: '/Step 0 R' */ break; case 1: /* Outputs for IfAction SubSystem: '/Step 1 R' incorporates: * ActionPort: '/Action Port' */ /* SwitchCase: '/Switch Case' incorporates: * DataStoreRead: '/Data Store Read1' */ switch (rtDW.LEVEL) { case 0: /* Outputs for IfAction SubSystem: '/Level 0' incorporates: * ActionPort: '/Action Port' */ Level0_g(&rtB.Merge_a0, &rtDW.Blower_RL, &rtDW.Blower_RR, &rtDW.CCU_MODE_RR, &rtDW.Dtg_RL, &rtDW.Dtg_RR, &rtDW.Incar_RR, &EN_BATTChiller, &Comp_Max_RPM_Allowed, &rtDW.LEVEL, &rtDW.LO_HI_MODE_RR, &rtDW.Mode_RL, &rtDW.Mode_RR, &index_start, &ShutOffRear_EN, &rtDW.t_now, &rtDW.Level0_gj); /* End of Outputs for SubSystem: '/Level 0' */ break; case 1: /* Outputs for IfAction SubSystem: '/Level 1' incorporates: * ActionPort: '/Action Port' */ Level0_g(&rtB.Merge_a0, &rtDW.Blower_RL, &rtDW.Blower_RR, &rtDW.CCU_MODE_RR, &rtDW.Dtg_RL, &rtDW.Dtg_RR, &rtDW.Incar_RR, &EN_BATTChiller, &Comp_Max_RPM_Allowed, &rtDW.LEVEL, &rtDW.LO_HI_MODE_RR, &rtDW.Mode_RL, &rtDW.Mode_RR, &index_start, &ShutOffRear_EN, &rtDW.t_now, &rtDW.Level1_l); /* End of Outputs for SubSystem: '/Level 1' */ break; case 2: /* Outputs for IfAction SubSystem: '/Level 2' incorporates: * ActionPort: '/Action Port' */ /* MATLAB Function: '/2 way valve' incorporates: * DataStoreRead: '/Data Store Read6' */ uwayvalve(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* MATLAB Function: '/incar filter up' incorporates: * DataStoreRead: '/Data Store Read1' */ incarfilterup_j(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* MATLAB Function: '/incar filter down' incorporates: * DataStoreRead: '/Data Store Read2' */ incarfilterdown_m(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* MATLAB Function: '/mode rear step 1' incorporates: * DataStoreRead: '/Data Store Read5' */ moderearstep1(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* DataStoreWrite: '/Data Store Write2' */ rtDW.Mode_RR = Comp_Max_RPM_Allowed; /* DataStoreWrite: '/Data Store Write3' */ rtDW.Mode_RL = Comp_Max_RPM_Allowed; /* MATLAB Function: '/blower start finish' incorporates: * DataStoreRead: '/Data Store Read7' */ blowerstartfinish(rtDW.LEVEL, rtb_out_llx); /* MATLAB Function: '/ECT min max' */ /* : min = int16(g_assSTART_COOLANT_STEP0_TO_1(5)); */ /* : max = int16(g_assSTART_COOLANT_TO_STEP2(2)); */ /* : out = [min, max]; */ rtb_out_ib[0] = g_assSTART_COOLANT_STEP0_TO_1[4]; rtb_out_ib[1] = g_assSTART_COOLANT_TO_STEP2[1]; /* Lookup_n-D: '/blower для текущего ECT' incorporates: * DataStoreRead: '/engine coolant temp' */ rtb_y_hg = look1_is16lu64n32tu16Ds32Is16_binlcs(rtDW.ECT, rtb_out_ib, rtb_out_llx, 1U); /* DataTypeConversion: '/Data Type Conversion' incorporates: * DataStoreWrite: '/Data Store Write5' * DataTypeConversion: '/Data Type Conversion1' */ rtDW.Blower_RR = (uint8_t)rtb_y_hg; /* DataStoreWrite: '/Data Store Write6' incorporates: * DataStoreWrite: '/Data Store Write5' */ rtDW.Blower_RL = rtDW.Blower_RR; /* MATLAB Function: '/Dtg_rear' incorporates: * DataStoreRead: '/Data Store Read8' */ Dtg_rear(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* Gain: '/Gain' incorporates: * DataStoreWrite: '/Data Store Write10' */ rtDW.Dtg_RR = (uint16_t)(10U * Comp_Max_RPM_Allowed); /* DataStoreWrite: '/Data Store Write11' incorporates: * DataStoreWrite: '/Data Store Write10' */ rtDW.Dtg_RL = rtDW.Dtg_RR; /* MATLAB Function: '/Incar temp goto from step 1 to step 2 ' incorporates: * DataStoreRead: '/Data Store Read3' */ Incartempgotofromstep1tostep2_m(rtDW.LEVEL, &rtb_FLU_tg_correct); /* MATLAB Function: '/Time goto from step 1 to step 2 ' incorporates: * DataStoreRead: '/Data Store Read4' */ Timegotofromstep1tostep2_n(rtDW.LEVEL, &rtb_y_hg); /* MATLAB Function: '/MATLAB Function1' incorporates: * DataStoreRead: '/Data Store Read9' * Gain: '/из сек в мс' */ MATLABFunction1(rtDW.t_now, (uint16_t)(1000 * rtb_y_hg), &WinterCondition_is_active_F, &rtDW.sf_MATLABFunction1_m3); /* Switch: '/Switch1' incorporates: * Constant: '/LO' * DataStoreRead: '/Data Store Read11' * DataStoreRead: '/Data Store Read12' * DataStoreRead: '/engine coolant temp' * DataStoreRead: '/incar temp' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * MATLAB Function: '/g_assSTART_COOLANT_TO_STEP2 ' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator3' * RelationalOperator: '/Relational Operator4' * Switch: '/Switch' */ /* : out = int16(g_assSTART_COOLANT_TO_STEP2(2)); */ if ((rtDW.CCU_MODE_RR != 1) || (rtDW.LO_HI_MODE_RR == 1)) { /* Merge: '/Merge' incorporates: * Constant: '/exit algorithm' */ rtB.Merge_a0 = 3; } else if ((rtDW.Incar_RR > rtb_FLU_tg_correct) || WinterCondition_is_active_F || (rtDW.ECT > g_assSTART_COOLANT_TO_STEP2[1])) { /* Switch: '/Switch' incorporates: * Constant: '/go to next step' * Merge: '/Merge' */ rtB.Merge_a0 = 2; } else { /* Merge: '/Merge' incorporates: * Constant: '/stay at step 1' * Switch: '/Switch' */ rtB.Merge_a0 = 1; } /* End of Switch: '/Switch1' */ /* End of Outputs for SubSystem: '/Level 2' */ break; case 3: /* Outputs for IfAction SubSystem: '/Level 3' incorporates: * ActionPort: '/Action Port' */ /* MATLAB Function: '/2 way valve' incorporates: * DataStoreRead: '/Data Store Read6' */ uwayvalve(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* MATLAB Function: '/incar filter up' incorporates: * DataStoreRead: '/Data Store Read1' */ incarfilterup_j(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* MATLAB Function: '/incar filter down' incorporates: * DataStoreRead: '/Data Store Read2' */ incarfilterdown_m(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* MATLAB Function: '/mode rear step 1' incorporates: * DataStoreRead: '/Data Store Read5' */ moderearstep1(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* DataStoreWrite: '/Data Store Write2' */ rtDW.Mode_RR = Comp_Max_RPM_Allowed; /* DataStoreWrite: '/Data Store Write3' */ rtDW.Mode_RL = Comp_Max_RPM_Allowed; /* MATLAB Function: '/blower start finish' incorporates: * DataStoreRead: '/Data Store Read7' */ blowerstartfinish(rtDW.LEVEL, rtb_out_llx); /* MATLAB Function: '/ECT min max' incorporates: * DataStoreRead: '/Data Store Read7' */ ECTminmax_j(rtDW.LEVEL, rtb_out_ib); /* Lookup_n-D: '/blower для текущего ECT' incorporates: * DataStoreRead: '/engine coolant temp' */ rtb_y_hg = look1_is16lu64n32tu16Ds32Is16_binlcs(rtDW.ECT, rtb_out_ib, rtb_out_llx, 1U); /* DataTypeConversion: '/Data Type Conversion' incorporates: * DataStoreWrite: '/Data Store Write5' * DataTypeConversion: '/Data Type Conversion1' */ rtDW.Blower_RR = (uint8_t)rtb_y_hg; /* DataStoreWrite: '/Data Store Write6' incorporates: * DataStoreWrite: '/Data Store Write5' */ rtDW.Blower_RL = rtDW.Blower_RR; /* MATLAB Function: '/Dtg_rear' incorporates: * DataStoreRead: '/Data Store Read8' */ Dtg_rear(rtDW.LEVEL, &Comp_Max_RPM_Allowed); /* Gain: '/Gain' incorporates: * DataStoreWrite: '/Data Store Write10' */ rtDW.Dtg_RR = (uint16_t)(10U * Comp_Max_RPM_Allowed); /* DataStoreWrite: '/Data Store Write11' incorporates: * DataStoreWrite: '/Data Store Write10' */ rtDW.Dtg_RL = rtDW.Dtg_RR; /* MATLAB Function: '/Incar temp goto from step 1 to step 2 ' incorporates: * DataStoreRead: '/Data Store Read3' */ Incartempgotofromstep1tostep2_m(rtDW.LEVEL, &rtb_FLU_tg_correct); /* MATLAB Function: '/Time goto from step 1 to step 2 ' incorporates: * DataStoreRead: '/Data Store Read4' */ Timegotofromstep1tostep2_n(rtDW.LEVEL, &rtb_y_hg); /* MATLAB Function: '/MATLAB Function1' incorporates: * DataStoreRead: '/Data Store Read9' * Gain: '/из сек в мс' */ MATLABFunction1(rtDW.t_now, (uint16_t)(1000 * rtb_y_hg), &WinterCondition_is_active_F, &rtDW.sf_MATLABFunction1_c); /* Switch: '/Switch1' incorporates: * Constant: '/LO' * DataStoreRead: '/Data Store Read11' * DataStoreRead: '/Data Store Read12' * DataStoreRead: '/engine coolant temp' * DataStoreRead: '/incar temp' * Logic: '/Logical Operator' * Logic: '/Logical Operator1' * MATLAB Function: '/g_assSTART_COOLANT_TO_STEP2 ' * RelationalOperator: '/Relational Operator' * RelationalOperator: '/Relational Operator2' * RelationalOperator: '/Relational Operator3' * RelationalOperator: '/Relational Operator4' * Switch: '/Switch' */ /* : out = int16(g_assSTART_COOLANT_TO_STEP2(3)); */ if ((rtDW.CCU_MODE_RR != 1) || (rtDW.LO_HI_MODE_RR == 1)) { /* Merge: '/Merge' incorporates: * Constant: '/exit algorithm' */ rtB.Merge_a0 = 3; } else if ((rtDW.Incar_RR > rtb_FLU_tg_correct) || WinterCondition_is_active_F || (rtDW.ECT > g_assSTART_COOLANT_TO_STEP2[2])) { /* Switch: '/Switch' incorporates: * Constant: '/go to next step' * Merge: '/Merge' */ rtB.Merge_a0 = 2; } else { /* Merge: '/Merge' incorporates: * Constant: '/stay at step 1' * Switch: '/Switch' */ rtB.Merge_a0 = 1; } /* End of Switch: '/Switch1' */ /* End of Outputs for SubSystem: '/Level 3' */ break; case 4: /* Outputs for IfAction SubSystem: '/Level 4' incorporates: * ActionPort: '/Action Port' */ Level4_m(&rtB.Merge_a0, &rtDW.Blower_RL, &rtDW.Blower_RR, &rtDW.CCU_MODE_RR, &rtDW.Dtg_RL, &rtDW.Dtg_RR, &rtDW.ECT, &rtDW.Incar_RR, &EN_BATTChiller, &Comp_Max_RPM_Allowed, &rtDW.LEVEL, &rtDW.LO_HI_MODE_RR, &rtDW.Mode_RL, &rtDW.Mode_RR, &index_start, &ShutOffRear_EN, &rtDW.t_now, &rtDW.Level4_m5); /* End of Outputs for SubSystem: '/Level 4' */ break; case 5: /* Outputs for IfAction SubSystem: '/Level 5' incorporates: * ActionPort: '/Action Port' */ Level4_m(&rtB.Merge_a0, &rtDW.Blower_RL, &rtDW.Blower_RR, &rtDW.CCU_MODE_RR, &rtDW.Dtg_RL, &rtDW.Dtg_RR, &rtDW.ECT, &rtDW.Incar_RR, &EN_BATTChiller, &Comp_Max_RPM_Allowed, &rtDW.LEVEL, &rtDW.LO_HI_MODE_RR, &rtDW.Mode_RL, &rtDW.Mode_RR, &index_start, &ShutOffRear_EN, &rtDW.t_now, &rtDW.Level5_i); /* End of Outputs for SubSystem: '/Level 5' */ break; } /* End of SwitchCase: '/Switch Case' */ /* End of Outputs for SubSystem: '/Step 1 R' */ break; case 2: /* Outputs for IfAction SubSystem: '/Step 2 R' incorporates: * ActionPort: '/Action Port' */ /* SwitchCase: '/Switch Case' incorporates: * DataStoreRead: '/Data Store Read1' */ switch (rtDW.LEVEL) { case 0: /* Outputs for IfAction SubSystem: '/Level 0' incorporates: * ActionPort: '/Action Port' */ Level0_a(&rtB.Merge_a0, &rtDW.Blower_RL, &rtDW.Blower_RR, &rtDW.Blower_logic_RR, &rtDW.CCU_MODE_FL, &rtDW.Dtg_RL, &rtDW.Dtg_RR, &rtb_y_hg, &EN_BATTChiller, &Comp_Max_RPM_Allowed, &rtDW.LEVEL, &rtDW.LO_HI_MODE_FL, &rtDW.Mode_RL, &rtDW.Mode_RR, &rtDW.Mode_logic_RR, &index_start, &ShutOffRear_EN, &rtDW.t_now, &rtDW.Level0_ad); /* End of Outputs for SubSystem: '/Level 0' */ break; case 1: /* Outputs for IfAction SubSystem: '/Level 1' incorporates: * ActionPort: '/Action Port' */ Level0_a(&rtB.Merge_a0, &rtDW.Blower_RL, &rtDW.Blower_RR, &rtDW.Blower_logic_RR, &rtDW.CCU_MODE_FL, &rtDW.Dtg_RL, &rtDW.Dtg_RR, &rtb_y_hg, &EN_BATTChiller, &Comp_Max_RPM_Allowed, &rtDW.LEVEL, &rtDW.LO_HI_MODE_FL, &rtDW.Mode_RL, &rtDW.Mode_RR, &rtDW.Mode_logic_RR, &index_start, &ShutOffRear_EN, &rtDW.t_now, &rtDW.Level1_hm); /* End of Outputs for SubSystem: '/Level 1' */ break; case 2: /* Outputs for IfAction SubSystem: '/Level 2' incorporates: * ActionPort: '/Action Port' */ Level2_f(&rtB.Merge_a0, &rtDW.Blower_RL, &rtDW.Blower_RR, &rtDW.Blower_logic_RR, &rtDW.CCU_MODE_FL, &rtDW.Dtg_RL, &rtDW.Dtg_RR, &rtb_y_hg, &rtDW.HI_logic_on, &EN_BATTChiller, &Comp_Max_RPM_Allowed, &rtDW.LEVEL, &rtDW.LO_HI_MODE_FL, &rtDW.Mode_RL, &rtDW.Mode_RR, &rtDW.Mode_logic_RR, &index_start, &ShutOffRear_EN, &rtDW.t_now, &rtDW.Level2_f0); /* End of Outputs for SubSystem: '/Level 2' */ break; case 3: /* Outputs for IfAction SubSystem: '/Level 3' incorporates: * ActionPort: '/Action Port' */ Level2_f(&rtB.Merge_a0, &rtDW.Blower_RL, &rtDW.Blower_RR, &rtDW.Blower_logic_RR, &rtDW.CCU_MODE_FL, &rtDW.Dtg_RL, &rtDW.Dtg_RR, &rtb_y_hg, &rtDW.HI_logic_on, &EN_BATTChiller, &Comp_Max_RPM_Allowed, &rtDW.LEVEL, &rtDW.LO_HI_MODE_FL, &rtDW.Mode_RL, &rtDW.Mode_RR, &rtDW.Mode_logic_RR, &index_start, &ShutOffRear_EN, &rtDW.t_now, &rtDW.Level3_p); /* End of Outputs for SubSystem: '/Level 3' */ break; case 4: /* Outputs for IfAction SubSystem: '/Level 4' incorporates: * ActionPort: '/Action Port' */ Level2_f(&rtB.Merge_a0, &rtDW.Blower_RL, &rtDW.Blower_RR, &rtDW.Blower_logic_RR, &rtDW.CCU_MODE_FL, &rtDW.Dtg_RL, &rtDW.Dtg_RR, &rtb_y_hg, &rtDW.HI_logic_on, &EN_BATTChiller, &Comp_Max_RPM_Allowed, &rtDW.LEVEL, &rtDW.LO_HI_MODE_FL, &rtDW.Mode_RL, &rtDW.Mode_RR, &rtDW.Mode_logic_RR, &index_start, &ShutOffRear_EN, &rtDW.t_now, &rtDW.Level4_b); /* End of Outputs for SubSystem: '/Level 4' */ break; case 5: /* Outputs for IfAction SubSystem: '/Level 5' incorporates: * ActionPort: '/Action Port' */ Level2_f(&rtB.Merge_a0, &rtDW.Blower_RL, &rtDW.Blower_RR, &rtDW.Blower_logic_RR, &rtDW.CCU_MODE_FL, &rtDW.Dtg_RL, &rtDW.Dtg_RR, &rtb_y_hg, &rtDW.HI_logic_on, &EN_BATTChiller, &Comp_Max_RPM_Allowed, &rtDW.LEVEL, &rtDW.LO_HI_MODE_FL, &rtDW.Mode_RL, &rtDW.Mode_RR, &rtDW.Mode_logic_RR, &index_start, &ShutOffRear_EN, &rtDW.t_now, &rtDW.Level5_ph); /* End of Outputs for SubSystem: '/Level 5' */ break; } /* End of SwitchCase: '/Switch Case' */ /* End of Outputs for SubSystem: '/Step 2 R' */ break; case 3: /* Outputs for IfAction SubSystem: '/Step 3 R' incorporates: * ActionPort: '/Action Port' */ Step3F(&rtB.Merge_a0, &rtDW.start_control_finished_front); /* End of Outputs for SubSystem: '/Step 3 R' */ break; } /* End of SwitchCase: '/Switch Case' */ /* DataStoreWrite: '/Data Store Write' */ rtDW.step_start_controle_rear = rtB.Merge_a0; /* End of Outputs for SubSystem: '/Start Control Rear' */ } /* End of If: '/если SC front не завершен3' */ /* Outport generated from: '/CCU_Errors_model' incorporates: * DataStoreRead: '/Data Store Read10' */ rtY.CCU_Errors_model = CCU_Errors_Model; /* Outport generated from: '/PWM_Get_out' incorporates: * DataStoreRead: '/Data Store Read7' */ rtY.PWM_Get_out = PWM_Get; /* Outport generated from: '/Actuator_Ch0_Command_Model_out' incorporates: * DataStoreRead: '/Data Store Read66' */ rtY.Actuator_Ch0_Command_Model_out = Actuator_Ch0_Command_Model; /* Outport generated from: '/Actuator_Ch1_Command_Mode_out' incorporates: * DataStoreRead: '/Data Store Read67' */ rtY.Actuator_Ch1_Command_Mode_out = Actuator_Ch1_Command_Model; /* Outport generated from: '/Actuator_Ch2_Command_Model_out' incorporates: * DataStoreRead: '/Data Store Read68' */ rtY.Actuator_Ch2_Command_Model_out = Actuator_Ch2_Command_Model; /* If: '/If' incorporates: * DataStoreRead: '/Data Store Read1' */ if (rtb_DataTypeConversion3_l4 > 0) { /* Outputs for IfAction SubSystem: '/all zone sync' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * DataStoreRead: '/Data Store Read' */ rtDW.CCU_SET_FR = rtDW.CCU_SET_FL; /* DataTypeConversion: '/Data Type Conversion1' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write1' */ rtDW.CCU_SET_RL = rtDW.CCU_SET_FL; /* DataTypeConversion: '/Data Type Conversion1' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write2' */ rtDW.CCU_SET_RR = rtDW.CCU_SET_FL; /* DataStoreWrite: '/Data Store Write3' incorporates: * DataStoreRead: '/Data Store Read1' */ rtDW.CCU_BLOWERS_FR = rtDW.CCU_BLOWERS_FL; /* DataStoreWrite: '/Data Store Write4' incorporates: * DataStoreRead: '/Data Store Read1' */ rtDW.CCU_BLOWERS_RL = rtDW.CCU_BLOWERS_FL; /* DataStoreWrite: '/Data Store Write5' incorporates: * DataStoreRead: '/Data Store Read1' */ rtDW.CCU_BLOWERS_RR = rtDW.CCU_BLOWERS_FL; /* DataStoreWrite: '/Data Store Write6' incorporates: * DataStoreRead: '/Data Store Read2' */ rtDW.CCU_DEF_FR = rtDW.CCU_DEF_FL; /* DataStoreWrite: '/Data Store Write10' incorporates: * DataStoreRead: '/Data Store Read3' */ rtDW.CCU_FACE_RL = rtDW.CCU_FACE_FL; /* DataStoreWrite: '/Data Store Write11' incorporates: * DataStoreRead: '/Data Store Read3' */ rtDW.CCU_FACE_RR = rtDW.CCU_FACE_FL; /* DataStoreWrite: '/Data Store Write9' incorporates: * DataStoreRead: '/Data Store Read3' */ rtDW.CCU_FACE_FR = rtDW.CCU_FACE_FL; /* DataStoreWrite: '/Data Store Write12' incorporates: * DataStoreRead: '/Data Store Read4' */ rtDW.CCU_FOOT_FR = rtDW.CCU_FOOT_FL; /* DataStoreWrite: '/Data Store Write13' incorporates: * DataStoreRead: '/Data Store Read4' */ rtDW.CCU_FOOT_RL = rtDW.CCU_FOOT_FL; /* DataStoreWrite: '/Data Store Write14' incorporates: * DataStoreRead: '/Data Store Read4' */ rtDW.CCU_FOOT_RR = rtDW.CCU_FOOT_FL; /* DataStoreWrite: '/Data Store Write15' incorporates: * DataStoreRead: '/Data Store Read5' */ rtDW.CCU_MODE_RR = rtDW.CCU_MODE_FL; /* DataStoreWrite: '/Data Store Write7' incorporates: * DataStoreRead: '/Data Store Read5' */ rtDW.CCU_MODE_FR = rtDW.CCU_MODE_FL; /* DataStoreWrite: '/Data Store Write8' incorporates: * DataStoreRead: '/Data Store Read5' */ rtDW.CCU_MODE_RL = rtDW.CCU_MODE_FL; /* DataStoreWrite: '/Data Store Write16' incorporates: * DataStoreRead: '/Data Store Read6' */ rtDW.CCU_AUTOMODE_FR = rtDW.CCU_AUTOMODE_FL; /* DataStoreWrite: '/Data Store Write17' incorporates: * DataStoreRead: '/Data Store Read6' */ rtDW.CCU_AUTOMODE_RL = rtDW.CCU_AUTOMODE_FL; /* DataStoreWrite: '/Data Store Write18' incorporates: * DataStoreRead: '/Data Store Read6' */ rtDW.CCU_AUTOMODE_RR = rtDW.CCU_AUTOMODE_FL; /* DataStoreWrite: '/Data Store Write19' incorporates: * DataStoreRead: '/Data Store Read7' */ rtDW.CCU_AC_REAR = rtDW.CCU_AC_FRONT; /* End of Outputs for SubSystem: '/all zone sync' */ } /* End of If: '/If' */ /* If: '/If1' incorporates: * DataStoreRead: '/Data Store Read2' */ if (rtb_Switch1_j > 0) { /* Outputs for IfAction SubSystem: '/front sync' incorporates: * ActionPort: '/Action Port' */ /* DataStoreWrite: '/Data Store Write' incorporates: * DataStoreRead: '/Data Store Read' */ rtDW.CCU_SET_FR = rtDW.CCU_SET_FL; /* DataStoreWrite: '/Data Store Write3' incorporates: * DataStoreRead: '/Data Store Read1' */ rtDW.CCU_BLOWERS_FR = rtDW.CCU_BLOWERS_FL; /* DataStoreWrite: '/Data Store Write6' incorporates: * DataStoreRead: '/Data Store Read2' */ rtDW.CCU_DEF_FR = rtDW.CCU_DEF_FL; /* DataStoreWrite: '/Data Store Write9' incorporates: * DataStoreRead: '/Data Store Read3' */ rtDW.CCU_FACE_FR = rtDW.CCU_FACE_FL; /* DataStoreWrite: '/Data Store Write12' incorporates: * DataStoreRead: '/Data Store Read4' */ rtDW.CCU_FOOT_FR = rtDW.CCU_FOOT_FL; /* DataStoreWrite: '/Data Store Write7' incorporates: * DataStoreRead: '/Data Store Read5' */ rtDW.CCU_MODE_FR = rtDW.CCU_MODE_FL; /* DataStoreWrite: '/Data Store Write16' incorporates: * DataStoreRead: '/Data Store Read6' */ rtDW.CCU_AUTOMODE_FR = rtDW.CCU_AUTOMODE_FL; /* End of Outputs for SubSystem: '/front sync' */ } /* End of If: '/If1' */ /* If: '/If2' incorporates: * DataStoreRead: '/Data Store Read3' */ if (rtb_timer_out > 0) { /* Outputs for IfAction SubSystem: '/rear sync' incorporates: * ActionPort: '/Action Port' */ /* DataTypeConversion: '/Data Type Conversion1' incorporates: * DataStoreRead: '/Data Store Read' * DataStoreWrite: '/Data Store Write2' */ rtDW.CCU_SET_RL = rtDW.CCU_SET_RR; /* DataStoreWrite: '/Data Store Write4' incorporates: * DataStoreRead: '/Data Store Read1' */ rtDW.CCU_BLOWERS_RL = rtDW.CCU_BLOWERS_RR; /* DataStoreWrite: '/Data Store Write17' incorporates: * DataStoreRead: '/Data Store Read2' */ rtDW.CCU_AUTOMODE_RL = rtDW.CCU_AUTOMODE_RR; /* DataStoreWrite: '/Data Store Write10' incorporates: * DataStoreRead: '/Data Store Read3' */ rtDW.CCU_FACE_RL = rtDW.CCU_FACE_RR; /* DataStoreWrite: '/Data Store Write13' incorporates: * DataStoreRead: '/Data Store Read4' */ rtDW.CCU_FOOT_RL = rtDW.CCU_FOOT_RR; /* DataStoreWrite: '/Data Store Write15' incorporates: * DataStoreRead: '/Data Store Read5' */ rtDW.CCU_MODE_RL = rtDW.CCU_MODE_RR; /* End of Outputs for SubSystem: '/rear sync' */ } /* End of If: '/If2' */ /* Update for Memory: '/Memory1' */ rtDW.MemComp_I_Value = rtb_Gain1_f; /* Update for Memory: '/pError' */ rtDW.pError_PreviousInput = rtb_g_assEVA_TG_AMB_F_m; /* Update for UnitDelay: '/Unit Delay' incorporates: * DataStoreRead: '/Data Store Read6' */ rtDW.UnitDelay_DSTATE_fq = rtb_Merge_b; /* Update for UnitDelay: '/Unit Delay1' incorporates: * DataStoreRead: '/Data Store Read7' */ rtDW.UnitDelay1_DSTATE = rtDW.Duct_RR_Tg; /* Switch: '/Switch' incorporates: * Logic: '/Logical Operator3' * Logic: '/Logical Operator4' * UnitDelay: '/Cond_prev_private ' */ if (rtb_LogicalOperator && (!rtDW.Cond_prev_private_DSTATE_k)) { /* Update for UnitDelay: '/t_start_delay_private ' incorporates: * DataStoreRead: '/Data Store Read4' */ rtDW.t_start_delay_private_DSTATE = rtDW.t_now; } /* End of Switch: '/Switch' */ /* Update for UnitDelay: '/Cond_prev_private ' */ rtDW.Cond_prev_private_DSTATE = rtb_FailCond_mq; /* Update for UnitDelay: '/Cond_prev_private ' */ rtDW.Cond_prev_private_DSTATE_p = rtb_Compare_ec; /* Update for UnitDelay: '/Cond_prev_private ' */ rtDW.Cond_prev_private_DSTATE_a = rtb_Compare_n5k; /* Update for UnitDelay: '/Cond_prev_private ' */ rtDW.Cond_prev_private_DSTATE_h = rtb_LogicalOperator1; /* Update for UnitDelay: '/Cond_prev_private ' */ rtDW.Cond_prev_private_DSTATE_c = rtb_LogicalOperator1_dv; /* Update for UnitDelay: '/Cond_prev_private ' */ rtDW.Cond_prev_private_DSTATE_m = rtb_LogicalOperator1_n; /* Update for UnitDelay: '/Cond_prev_private ' */ rtDW.Cond_prev_private_DSTATE_j = rtb_FailCond_l; /* Update for UnitDelay: '/Cond_prev_private ' */ rtDW.Cond_prev_private_DSTATE_f = rtb_FailCond_d4; /* Update for UnitDelay: '/Cond_prev_private ' */ rtDW.Cond_prev_private_DSTATE_cn = rtb_FailCond_ad; /* Update for UnitDelay: '/Cond_prev_private ' */ rtDW.Cond_prev_private_DSTATE_l = rtb_Compare_ff; /* Update for UnitDelay: '/Cond_prev_private ' */ rtDW.Cond_prev_private_DSTATE_ja = rtb_Compare_jz; /* Update for UnitDelay: '/Cond_prev_private ' */ rtDW.Cond_prev_private_DSTATE_g = rtb_Compare_n3; /* Update for UnitDelay: '/Cond_prev_private ' */ rtDW.Cond_prev_private_DSTATE_cd = rtb_Compare_pjy; /* Update for UnitDelay: '/Unit Delay' incorporates: * DataStoreWrite: '/Data Store Write1' */ rtDW.UnitDelay_DSTATE_cbr = rtDW.Incar_FL; /* Update for UnitDelay: '/Unit Delay' incorporates: * DataStoreWrite: '/Data Store Write3' */ rtDW.UnitDelay_DSTATE_j = rtDW.Incar_FR; /* Update for UnitDelay: '/Unit Delay' incorporates: * DataStoreWrite: '/Data Store Write4' */ rtDW.UnitDelay_DSTATE_cs = rtDW.Incar_RL; /* Update for UnitDelay: '/Unit Delay' incorporates: * DataStoreWrite: '/Data Store Write5' */ rtDW.UnitDelay_DSTATE_k2 = rtDW.Incar_RR; /* Update for UnitDelay: '/Cond_prev_private ' */ rtDW.Cond_prev_private_DSTATE_k = rtb_LogicalOperator; /* Update for UnitDelay: '/Cond_prev_private ' */ rtDW.Cond_prev_private_DSTATE_d = rtb_AND2_b; /* Update for UnitDelay: '/Cond_prev_private ' */ rtDW.Cond_prev_private_DSTATE_hw = rtb_FailCond_iw; /* Update for UnitDelay: '/Cond_prev_private ' */ rtDW.Cond_prev_private_DSTATE_i = rtb_FailCond_e; /* Update for UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM */ rtDW.DelayInput1_DSTATE = rtB.out_auto_h; /* Update for UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM */ rtDW.DelayInput1_DSTATE_e = rtB.out_auto_e; /* Update for UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM */ rtDW.DelayInput1_DSTATE_d = rtB.out_auto_hx; /* Update for UnitDelay: '/Delay Input1' * * Block description for '/Delay Input1': * * Store in Global RAM */ rtDW.DelayInput1_DSTATE_d3 = rtB.out_auto; /* Update for UnitDelay: '/Unit Delay' incorporates: * DataStoreRead: '/Data Store Read44' */ rtDW.UnitDelay_DSTATE_l = rtDW.t_now; /* Outport generated from: '/dtc_state_error_model' incorporates: * DataStoreRead: '/Data Store Read1' */ memcpy(&rtY.dtc_state_error_model[0], &rtDW.dtc_state_error_model[0], 127U * sizeof(uint8_t)); /* Outport generated from: '/dbgCAN_dbg_Act0_model' incorporates: * DataStoreRead: '/Data Store Read3' */ rtY.dbgCAN_dbg_Act0_model[0] = rtDW.dbgCAN_dbg_Act0_model.dbg_Act00_Def; rtY.dbgCAN_dbg_Act0_model[1] = rtDW.dbgCAN_dbg_Act0_model.dbg_Act01_Vent_SFL; rtY.dbgCAN_dbg_Act0_model[2] = rtDW.dbgCAN_dbg_Act0_model.dbg_Act02_Vent_CFL; rtY.dbgCAN_dbg_Act0_model[3] = rtDW.dbgCAN_dbg_Act0_model.dbg_Act03_Foot_1FL; rtY.dbgCAN_dbg_Act0_model[4] = rtDW.dbgCAN_dbg_Act0_model.dbg_Act04_Foot_2FL; rtY.dbgCAN_dbg_Act0_model[5] = rtDW.dbgCAN_dbg_Act0_model.dbg_Act05_Vent_CFR; rtY.dbgCAN_dbg_Act0_model[6] = rtDW.dbgCAN_dbg_Act0_model.dbg_Act06_Vent_SFR; rtY.dbgCAN_dbg_Act0_model[7] = rtDW.dbgCAN_dbg_Act0_model.dbg_Act07_Foot_1FR; /* Outport generated from: '/dbgCAN_dbg_Act1_model' incorporates: * DataStoreRead: '/Data Store Read4' */ rtY.dbgCAN_dbg_Act1_model[0] = rtDW.dbgCAN_dbg_Act1_model.dbg_Act08_Foot_2FR; rtY.dbgCAN_dbg_Act1_model[1] = rtDW.dbgCAN_dbg_Act1_model.dbg_Act09_Vent_SRL; rtY.dbgCAN_dbg_Act1_model[2] = rtDW.dbgCAN_dbg_Act1_model.dbg_Act10_Vent_CRL; rtY.dbgCAN_dbg_Act1_model[3] = rtDW.dbgCAN_dbg_Act1_model.dbg_Act11_Foot_RL; rtY.dbgCAN_dbg_Act1_model[4] = rtDW.dbgCAN_dbg_Act1_model.dbg_Act12_Vent_CRR; rtY.dbgCAN_dbg_Act1_model[5] = rtDW.dbgCAN_dbg_Act1_model.dbg_Act13_Vent_SRR; rtY.dbgCAN_dbg_Act1_model[6] = rtDW.dbgCAN_dbg_Act1_model.dbg_Act14_Foot_RR; rtY.dbgCAN_dbg_Act1_model[7] = rtDW.dbgCAN_dbg_Act1_model.dbg_Act15_TempU_FL; /* Outport generated from: '/dbgCAN_dbg_Act2_model' incorporates: * DataStoreRead: '/Data Store Read5' */ rtY.dbgCAN_dbg_Act2_model[0] = rtDW.dbgCAN_dbg_Act2_model.dbg_Act16_TempL_FL; rtY.dbgCAN_dbg_Act2_model[1] = rtDW.dbgCAN_dbg_Act2_model.dbg_Act17_TempU_FR; rtY.dbgCAN_dbg_Act2_model[2] = rtDW.dbgCAN_dbg_Act2_model.dbg_Act18_TempL_FR; rtY.dbgCAN_dbg_Act2_model[3] = rtDW.dbgCAN_dbg_Act2_model.dbg_Act19_Temp_RL; rtY.dbgCAN_dbg_Act2_model[4] = rtDW.dbgCAN_dbg_Act2_model.dbg_Act20_Temp_RR; rtY.dbgCAN_dbg_Act2_model[5] = rtDW.dbgCAN_dbg_Act2_model.dbg_Act21_Rec; rtY.dbgCAN_dbg_Act2_model[6] = rtDW.dbgCAN_dbg_Act2_model.dbg_Act22_OSA; rtY.dbgCAN_dbg_Act2_model[7] = rtDW.dbgCAN_dbg_Act2_model.dbg_Act23_SealingValve; /* Outport generated from: '/dbgCAN_dbg_Sen_Duct_model' incorporates: * DataStoreRead: '/Data Store Read8' */ rtY.dbgCAN_dbg_Sen_Duct_model = rtDW.dbgCAN_dbg_Sen_Duct_model; /* Outport generated from: '/dbgCAN_dbg_Sen_Eva_model' incorporates: * DataStoreRead: '/Data Store Read9' */ rtY.dbgCAN_dbg_Sen_Eva_model[0] = rtDW.dbgCAN_dbg_Sen_Eva_model.dbg_Sen_Eva_F; rtY.dbgCAN_dbg_Sen_Eva_model[1] = rtDW.dbgCAN_dbg_Sen_Eva_model.dbg_Sen_Eva_R; rtY.dbgCAN_dbg_Sen_Eva_model[2] = rtDW.dbgCAN_dbg_Sen_Eva_model.dbg_Sen_Eva_Target; rtY.dbgCAN_dbg_Sen_Eva_model[3] = rtDW.dbgCAN_dbg_Sen_Eva_model.dbg_Sen_Eva_Diff_FrontRear; /* Outport generated from: '/dbgCAN_dbg_Logic_Blower_model' incorporates: * DataStoreRead: '/Data Store Read13' */ rtY.dbgCAN_dbg_Logic_Blower_model[0] = rtDW.dbgCAN_dbg_Logic_Blower_model.Logic_Blower_Step_FL; rtY.dbgCAN_dbg_Logic_Blower_model[1] = rtDW.dbgCAN_dbg_Logic_Blower_model.Logic_Blower_Step_FR; rtY.dbgCAN_dbg_Logic_Blower_model[2] = rtDW.dbgCAN_dbg_Logic_Blower_model.Logic_Blower_Step_RL; rtY.dbgCAN_dbg_Logic_Blower_model[3] = rtDW.dbgCAN_dbg_Logic_Blower_model.Logic_Blower_Step_RR; rtY.dbgCAN_dbg_Logic_Blower_model[4] = rtDW.dbgCAN_dbg_Logic_Blower_model.Logic_Blower_Pwm_Front; rtY.dbgCAN_dbg_Logic_Blower_model[5] = rtDW.dbgCAN_dbg_Logic_Blower_model.Logic_Blower_Pwm_Rear; rtY.dbgCAN_dbg_Logic_Blower_model[6] = rtDW.dbgCAN_dbg_Logic_Blower_model.Logic_Blower_AF_FL; rtY.dbgCAN_dbg_Logic_Blower_model[7] = rtDW.dbgCAN_dbg_Logic_Blower_model.Logic_Blower_AF_FR; rtY.dbgCAN_dbg_Logic_Blower_model[8] = rtDW.dbgCAN_dbg_Logic_Blower_model.Logic_Blower_AF_RL; rtY.dbgCAN_dbg_Logic_Blower_model[9] = rtDW.dbgCAN_dbg_Logic_Blower_model.Logic_Blower_AF_RR; /* Outport generated from: '/dbgCAN_dbg_Sen_Amb_model' incorporates: * DataStoreRead: '/Data Store Read29' */ rtY.dbgCAN_dbg_Sen_Amb_model = rtDW.dbgCAN_dbg_Sen_Amb_model; /* Outport generated from: '/dbgCAN_dbg_Sen_Incar_model' incorporates: * DataStoreRead: '/Data Store Read48' */ rtY.dbgCAN_dbg_Sen_Incar_model = rtDW.dbgCAN_dbg_Sen_Incar_model; /* Outport generated from: '/dbgCAN_dbg_Sen_0_model' incorporates: * DataStoreRead: '/Data Store Read49' */ rtY.dbgCAN_dbg_Sen_0_model = rtDW.dbgCAN_dbg_Sen_0_model; /* Outport generated from: '/PowerEnable_Model' incorporates: * DataStoreRead: '/Data Store Read46' */ rtY.PowerEnable_Model = rtDW.PowerEnable_Model; /* Outport generated from: '/dbg_Logic_Ac_model' incorporates: * DataStoreRead: '/Data Store Read56' */ rtY.dbg_Logic_Ac_model = rtDW.dbg_Logic_Ac_model; /* Outport generated from: '/dbgCAN_CCU_IO_model' incorporates: * DataStoreRead: '/Data Store Read60' */ rtY.dbgCAN_CCU_IO_model = rtDW.dbgCAN_CCU_IO_model; /* Outport generated from: '/dbgCAN_Logic_Rec_model' incorporates: * DataStoreRead: '/Data Store Read38' */ rtY.dbgCAN_Logic_Rec_model = rtDW.dbgCAN_Logic_Rec_model; /* Outport generated from: '/dbgCAN_Logic_State_model' incorporates: * DataStoreRead: '/Data Store Read39' */ rtY.dbgCAN_Logic_State_model = rtDW.dbgCAN_Logic_State_model; /* Outport generated from: '/dbgCAN_Auto_Duct_model' incorporates: * DataStoreRead: '/Data Store Read62' */ rtY.dbgCAN_Auto_Duct_model = rtDW.dbg_Auto_Duct_model; /* Outport generated from: '/dbgCAN_Auto_AF_model' incorporates: * DataStoreRead: '/Data Store Read63' */ rtY.dbgCAN_Auto_AF_model = rtDW.dbg_Auto_AF_model; /* Outport generated from: '/LIN4_CCU_Req_Model' incorporates: * DataStoreRead: '/Data Store Read64' */ rtY.LIN4_CCU_Req_Model = rtDW.LIN4_CCU_Req_Model; /* Outport generated from: '/dbg_Logic_Valve_model' incorporates: * DataStoreRead: '/Data Store Read65' */ rtY.dbg_Logic_Valve_model = rtDW.dbg_Logic_Valve_model; /* Outport generated from: '/dbg_LIN_AirQS_Stat_t_model' incorporates: * DataStoreRead: '/Data Store Read70' */ rtY.dbg_LIN_AirQS_Stat_t_model = rtDW.dbg_LIN_AirQS_Stat_t_model; /* Outport generated from: '/dbg_LIN_DRS_Stat_t_model' incorporates: * DataStoreRead: '/Data Store Read71' */ rtY.dbg_LIN_DRS_Stat_t_model = rtDW.dbg_LIN_DRS_Stat_t_model; /* Outport generated from: '/dbg_Drs_t_model' incorporates: * DataStoreRead: '/Data Store Read72' */ rtY.dbg_Drs_t_model = rtDW.dbg_Drs_t_model; /* Outport generated from: '/dbg_Logic_Valve_Plus_model' incorporates: * DataStoreRead: '/Data Store Read69' */ rtY.dbg_Logic_Valve_Plus_model = rtDW.dbg_Logic_Valve_Plus_model; /* Outport generated from: '/dbg_LIN_Aroma_Stat_t_model' incorporates: * DataStoreRead: '/Data Store Read85' */ rtY.dbg_LIN_Aroma_Stat_t_model = rtDW.dbg_LIN_Aroma_Stat_t_model; /* Outport generated from: '/dbg_LIN_Ionizer_Stat_t_model' incorporates: * DataStoreRead: '/Data Store Read86' */ rtY.dbg_LIN_Ionizer_Stat_t_model = rtDW.dbg_LIN_Ionizer_Stat_t_model; /* Outport generated from: '/Status_Duct_Select_model_IO' incorporates: * DataStoreRead: '/Data Store Read96' */ rtY.Status_Duct_Select_model_IO = rtDW.Status_Duct_Select_model_IO; /* Outport generated from: '/Status_Eva_Tgt_model_IO' incorporates: * DataStoreRead: '/Data Store Read97' */ rtY.Status_Eva_Tgt_model_IO = rtDW.Status_Eva_Tgt_model_IO; /* Outport generated from: '/Status_Sensort_model_IO' incorporates: * DataStoreRead: '/Data Store Read98' */ rtY.Status_Sensort_model_IO = rtDW.Status_Sensor_model_IO; /* Outport generated from: '/Status_Actuator_model_IO' incorporates: * DataStoreRead: '/Data Store Read99' */ rtY.Status_Actuator_model_IO = rtDW.Status_Actuator_model_IO; /* Outport generated from: '/Status_Duct_Tgt_model_IO' incorporates: * DataStoreRead: '/Data Store Read100' */ rtY.Status_Duct_Tgt_model_IO = rtDW.Status_Duct_Tgt_model_IO; /* Outport generated from: '/dbg_PID_valve_model_out' incorporates: * DataStoreRead: '/Data Store Read101' */ rtY.dbg_PID_valve_model_out = rtDW.dbg_PIDValve_model; /* Outport generated from: '/dbg_Sen_Demist_model_out' incorporates: * DataStoreRead: '/Data Store Read40' */ rtY.dbg_Sen_Demist_model_out = rtDW.dbg_Sen_Demist_model; } /* Model initialize function */ void HVAC_model_initialize(void) { /* Registration code */ /* initialize error status */ rtmSetErrorStatus(rtM, (NULL)); /* block I/O */ (void) memset(((void *) &rtB), 0, sizeof(B)); /* states (dwork) */ (void) memset((void *)&rtDW, 0, sizeof(DW)); /* exported global states */ Actuator_Ch0_Command_Model = HVAC_model_rtZActuatorCmdBus; Actuator_Ch1_Command_Model = HVAC_model_rtZActuatorCmdBus; Actuator_Ch2_Command_Model = HVAC_model_rtZActuatorCmdBus; Actuator_Ch0_Status_Model = HVAC_model_rtZActuatorCmdBusInput; Actuator_Ch1_Status_Model = HVAC_model_rtZActuatorCmdBusInput; Actuator_Ch2_Status_Model = HVAC_model_rtZActuatorCmdBusInput; Status_Sensor_Model = HVAC_model_rtZCmdBusStatus; CCU_Errors_Model = HVAC_model_rtZCmdBusError; PWM_Get = HVAC_model_rtZCmdBusPWMGet; { int32_t i; /* Start for DataStoreMemory: '/Data Store Memory' */ rtDW.Temp_FL_store = -9999.0; /* Start for DataStoreMemory: '/Data Store Memory10' */ rtDW.Temp_RR_store = -9999.0; /* Start for DataStoreMemory: '/Data Store Memory4' */ rtDW.Temp_FR_store = -9999.0; /* Start for DataStoreMemory: '/Data Store Memory6' */ rtDW.Temp_RL_store = -9999.0; /* Start for DataStoreMemory: '/Data Store Memory110' */ rtDW.CCU_FACE_RL = 1U; /* Start for DataStoreMemory: '/Data Store Memory113' */ rtDW.CCU_AUTOMODE_RL = 3U; /* Start for DataStoreMemory: '/Data Store Memory116' */ rtDW.CCU_FACE_RR = 1U; /* Start for DataStoreMemory: '/Data Store Memory119' */ rtDW.CCU_AUTOMODE_RR = 3U; /* Start for DataStoreMemory: '/Data Store Memory14' */ rtDW.CCU_SET_FR = 230U; /* Start for DataTypeConversion: '/Data Type Conversion1' incorporates: * DataStoreMemory: '/Data Store Memory15' */ rtDW.CCU_SET_FL = 230U; /* Start for DataTypeConversion: '/Data Type Conversion1' incorporates: * DataStoreMemory: '/Data Store Memory16' */ rtDW.CCU_SET_RR = 230U; /* Start for DataStoreMemory: '/Data Store Memory160' */ rtDW.SW5V_EN = 1U; /* Start for DataStoreMemory: '/Data Store Memory161' */ rtDW.PBATT_CK_EN = 1U; /* Start for DataStoreMemory: '/Data Store Memory165' */ rtDW.ReservePower_EN = 1U; /* Start for DataStoreMemory: '/Data Store Memory166' */ rtDW.PtcRelayDriver1_EN = 1U; /* Start for DataStoreMemory: '/Data Store Memory167' */ rtDW.PtcRelayDriver2_EN = 1U; /* Start for DataTypeConversion: '/Data Type Conversion1' incorporates: * DataStoreMemory: '/Data Store Memory17' */ rtDW.CCU_SET_RL = 230U; /* Start for DataStoreMemory: '/Data Store Memory170' */ rtDW.EN_ReservePower = 1U; /* Start for DataStoreMemory: '/Data Store Memory171' */ rtDW.LIN_ActPower_AB = 1U; /* Start for DataStoreMemory: '/Data Store Memory172' */ rtDW.LIN_ActPower_C = 1U; /* Start for DataStoreMemory: '/Data Store Memory173' */ rtDW.ShutOffTXV1_EN = 1U; /* Start for DataStoreMemory: '/Data Store Memory174' */ rtDW.ShutOffTXV2_EN = 1U; /* Start for DataStoreMemory: '/Data Store Memory176' */ rtDW.EN_PowerReserve = 1U; /* Start for DataStoreMemory: '/Data Store Memory231' */ rtDW.step_start_controle_front = -1; /* Start for DataStoreMemory: '/Data Store Memory232' */ rtDW.step_start_controle_rear = -1; /* Start for DataStoreMemory: '/Data Store Memory279' */ rtDW.DRS_CFL = 3U; /* Start for DataStoreMemory: '/Data Store Memory282' */ rtDW.DRS_CFR = 3U; /* Start for DataStoreMemory: '/Data Store Memory286' */ rtDW.DRS_SFR = 3U; /* Start for DataStoreMemory: '/Data Store Memory287' */ rtDW.DRS_SFL = 3U; /* Start for DataStoreMemory: '/Data Store Memory288' */ rtDW.DRS_CRL = 3U; /* Start for DataStoreMemory: '/Data Store Memory289' */ rtDW.DRS_CRR = 3U; /* Start for DataStoreMemory: '/Data Store Memory290' */ rtDW.DRS_SRL = 3U; /* Start for DataStoreMemory: '/Data Store Memory291' */ rtDW.DRS_SRR = 3U; /* Start for DataStoreMemory: '/Data Store Memory42' */ rtDW.ADC_Data_Model = rtConstP.DataStoreMemory42_InitialValue; /* Start for DataStoreMemory: '/Data Store Memory5' */ rtDW.t_now = 10U; /* Start for DataStoreMemory: '/Data Store Memory76' */ rtDW.CCU_SET_FOOT_FL = 3U; /* Start for DataStoreMemory: '/Data Store Memory77' */ rtDW.CCU_SET_FOOT_FR = 3U; /* Start for DataStoreMemory: '/Data Store Memory85' */ rtDW.CCU_FACE_FL = 1U; /* Start for DataStoreMemory: '/Data Store Memory86' */ rtDW.CCU_FOOT_FL = 1U; /* Start for DataStoreMemory: '/Data Store Memory89' */ rtDW.CCU_FACE_FR = 1U; /* Start for DataStoreMemory: '/Data Store Memory90' */ rtDW.CCU_FOOT_FR = 1U; /* Start for DataStoreMemory: '/Data Store Memory93' */ rtDW.CCU_AUTOMODE_FR = 3U; /* Start for DataStoreMemory: '/Data Store Memory94' */ rtDW.CCU_AUTOMODE_FL = 3U; /* Start for DataStoreMemory: '/Data Store Memory95' */ rtDW.CCU_RECIRC = 2U; /* InitializeConditions for RateLimiter: '/Rate Limiter' */ rtDW.PrevY = 0.0; /* InitializeConditions for UnitDelay: '/Unit Delay' */ rtDW.UnitDelay_DSTATE_fq = -9999; /* InitializeConditions for UnitDelay: '/Unit Delay1' */ rtDW.UnitDelay1_DSTATE = -9999; /* InitializeConditions for UnitDelay: '/Unit Delay' */ rtDW.UnitDelay_DSTATE_cbr = -9999; /* InitializeConditions for UnitDelay: '/Unit Delay' */ rtDW.UnitDelay_DSTATE_j = -9999; /* InitializeConditions for UnitDelay: '/Unit Delay' */ rtDW.UnitDelay_DSTATE_cs = -9999; /* InitializeConditions for UnitDelay: '/Unit Delay' */ rtDW.UnitDelay_DSTATE_k2 = -9999; /* SystemInitialize for Test Sequence: '/test duct filter' */ rtDW.temporalCounter_i1 = 0U; rtDW.is_active_c1504_HVAC_model = 0U; rtDW.is_c1504_HVAC_model = IN_NO_ACTIVE_CHILD_c; /* SystemInitialize for Atomic SubSystem: '/WINTER CONDITION' */ /* SystemInitialize for MATLAB Function: '/MATLAB Function4' */ /* : amb_condition_latched = false; */ rtDW.amb_condition_latched = false; /* SystemInitialize for MATLAB Function: '/MATLAB Function3' */ /* : is_active_persistent = false; */ rtDW.is_active_persistent_m = false; /* : R_Evap_tg_persistent = 0; */ rtDW.R_Evap_tg_persistent = 0.0; /* SystemInitialize for MATLAB Function: '/MATLAB Function' */ /* : is_active_persistent = false; */ rtDW.is_active_persistent_n = false; /* : FRONT_eTXV_ON_persistent = true; */ rtDW.FRONT_eTXV_ON_persistent = true; /* SystemInitialize for MATLAB Function: '/MATLAB Function1' */ /* : is_active_persistent = false; */ rtDW.is_active_persistent_c = false; /* : REAR_eTXV_ON_persistent = true; */ rtDW.REAR_eTXV_ON_persistent = true; /* End of SystemInitialize for SubSystem: '/WINTER CONDITION' */ /* SystemInitialize for Chart: '/A//C Control' */ rtB.FRONT_eTXV = false; rtB.REAR_eTXV = false; rtB.Chiller_eTXV = false; rtDW.Pressure_Condition_table_OK = false; rtDW.Chiller_Start_request = false; rtDW.Pressure_Hi_Fault = false; rtB.Comp_Feedback_Temp = 0; rtB.Comp_Target_Temp = 0; rtB.Chiller_Only_Flag = 0.0; rtDW.FRONT_Start_request = false; rtDW.REAR_Start_request = false; rtB.Eva_Ctrl = 0U; rtDW.is_active_c621_HVAC_model = 0U; rtDW.is_PRESSURE_MONITOR = IN_NO_ACTIVE_CHILD_c; rtDW.is_FRONT_CONTOUR = IN_NO_ACTIVE_CHILD_c; rtDW.is_REAR_CONTOUR = IN_NO_ACTIVE_CHILD_c; rtDW.is_CHILLER_CONTOUR = IN_NO_ACTIVE_CHILD_c; rtDW.is_E_COMP_MANAGER = IN_NO_ACTIVE_CHILD_c; rtDW.is_COMP_PROTECTION = IN_NO_ACTIVE_CHILD_c; /* SystemInitialize for MATLAB Function: '/MATLAB Function1' */ rtDW.t_start_not_empty = false; rtDW.is_running = 0U; /* SystemInitialize for Chart: '/13,1,3,15 Valve control' */ rtDW.Cmd_RearTemp_3W = 0.0; rtB.Cmd_2Way = 0U; rtDW.Cmd_RearTemp_2W = 0.0; rtDW.is_active_c775_HVAC_model = 0U; rtDW.is_ThreeWay_Logic = IN_NO_ACTIVE_CHILD_c; rtDW.is_TwoWay_Logic = IN_NO_ACTIVE_CHILD_c; /* SystemInitialize for Chart: '/MAX AC define condition' */ rtB.condition = 0.0; rtDW.is_active_c248_HVAC_model = 0U; rtDW.is_c248_HVAC_model = IN_NO_ACTIVE_CHILD_c; /* SystemInitialize for Chart: '/Synchronization stateflow chart' */ rtB.sync_all = 0U; rtB.sync_front = 0U; rtB.sync_rear = 0U; rtDW.is_active_c618_HVAC_model = 0U; rtDW.is_c618_HVAC_model = IN_NO_ACTIVE_CHILD_c; /* SystemInitialize for Merge: '/Merge' */ rtB.Merge_b = 0U; for (i = 0; i < 9; i++) { /* Start for DataStoreMemory: '/Data Store Memory1' */ rtDW.ErrorCalibration_private[i] = 1U; /* Start for DataStoreMemory: '/Data Store Memory1' */ rtDW.ErrorCalibration_private_p[i] = 1U; /* Start for DataStoreMemory: '/Data Store Memory1' */ rtDW.ErrorCalibration_private_b[i] = 1U; /* Start for DataStoreMemory: '/Data Store Memory121' */ rtDW.MaxPositionCh0_private[i] = rtConstP.pooled89[i]; /* Start for DataStoreMemory: '/Data Store Memory123' */ rtDW.MaxPositionCh1_private[i] = rtConstP.DataStoreMemory123_InitialValue[i]; /* Start for DataStoreMemory: '/Data Store Memory124' */ rtDW.MaxPositionCh2_private[i] = rtConstP.DataStoreMemory124_InitialValue[i]; } /* SystemInitialize for MATLAB Function: '/Log Ambient Lv' */ rtDW.current_Ambient_Lv_not_empty = false; /* SystemInitialize for Chart: '/Spd_OSA_Trigger' */ rtDW.is_active_c834_HVAC_model = 0U; rtDW.is_c834_HVAC_model = IN_NO_ACTIVE_CHILD_c; /* SystemInitialize for Chart: '/Partial REC' */ rtB.req_OSA = 0U; rtB.req_REC = 0U; rtDW.X_prev = 0; rtDW.is_active_c776_HVAC_model = 0U; rtDW.is_c776_HVAC_model = IN_NO_ACTIVE_CHILD_c; rtDW.is_PARTIAL_REC_ON = IN_NO_ACTIVE_CHILD_c; rtDW.is_COND_2 = IN_NO_ACTIVE_CHILD_c; /* SystemInitialize for Merge: '/Merge' */ rtB.Merge_j = 0; /* SystemInitialize for Merge: '/Merge1' */ rtB.Merge1 = 0; /* SystemInitialize for Merge: '/Merge' */ rtB.Merge_g = 0; /* SystemInitialize for Merge: '/Merge1' */ rtB.Merge1_m = 0; /* SystemInitialize for MATLAB Function: '/is 3 sec after T15 passed' */ is3secafterT15passed_Init(&rtDW.sf_is3secafterT15passed_m); /* SystemInitialize for MATLAB Function: '/filter duct' */ filterduct_Init(&rtDW.sf_filterduct_k); /* SystemInitialize for MATLAB Function: '/is 3 sec after T15 passed' */ is3secafterT15passed_Init(&rtDW.sf_is3secafterT15passed); /* SystemInitialize for MATLAB Function: '/filter duct' */ filterduct_Init(&rtDW.sf_filterduct); /* SystemInitialize for MATLAB Function: '/is 3 sec after T15 passed' */ is3secafterT15passed_Init(&rtDW.sf_is3secafterT15passed_o); /* SystemInitialize for MATLAB Function: '/filter duct' */ filterduct_Init(&rtDW.sf_filterduct_c); /* SystemInitialize for MATLAB Function: '/is 3 sec after T15 passed' */ is3secafterT15passed_Init(&rtDW.sf_is3secafterT15passed_h); /* SystemInitialize for MATLAB Function: '/filter duct' */ filterduct_Init(&rtDW.sf_filterduct_o); /* SystemInitialize for MATLAB Function: '/is 3 sec after T15 passed' */ is3secafterT15passed_Init(&rtDW.sf_is3secafterT15passed_e); /* SystemInitialize for MATLAB Function: '/filter duct' */ filterduct_Init(&rtDW.sf_filterduct_h); /* SystemInitialize for MATLAB Function: '/is 3 sec after T15 passed' */ is3secafterT15passed_Init(&rtDW.sf_is3secafterT15passed_c); /* SystemInitialize for MATLAB Function: '/filter duct' */ filterduct_Init(&rtDW.sf_filterduct_j); /* SystemInitialize for Chart: '/Zone_Climate_Logic_Auto_FL2' */ Zone_Climate_Logic_Auto_FL2_Init(&rtB.out_def_i, &rtB.out_face_c, &rtB.out_foot_f, &rtB.out_auto_h, &rtB.out_ac_ed, &rtDW.sf_Zone_Climate_Logic_Auto_FL2); /* SystemInitialize for Chart: '/Zone_Climate_Logic_Auto_FL3' */ Zone_Climate_Logic_Auto_FL2_Init(&rtB.out_def_n, &rtB.out_face_f, &rtB.out_foot_p, &rtB.out_auto_e, &rtB.out_ac_e, &rtDW.sf_Zone_Climate_Logic_Auto_FL3); /* SystemInitialize for Chart: '/Zone_Climate_Logic_Auto_FL1' */ rtB.out_def_m = 0U; rtB.out_face_m = 0U; rtB.out_foot_ps = 0U; rtB.out_auto_hx = 0U; rtB.out_ac_m = 0.0; rtDW.is_active_c681_HVAC_model = 0U; rtDW.is_c681_HVAC_model = IN_NO_ACTIVE_CHILD_c; rtDW.is_AC_SUB_c = IN_NO_ACTIVE_CHILD_c; rtDW.is_DEF_SUB_i = IN_NO_ACTIVE_CHILD_c; rtDW.is_FACE_SUB_o = IN_NO_ACTIVE_CHILD_c; rtDW.is_FOOT_SUB_f = IN_NO_ACTIVE_CHILD_c; rtDW.is_AC_SUB_co = IN_NO_ACTIVE_CHILD_c; /* SystemInitialize for Chart: '/Zone_Climate_Logic_Auto_FL4' */ rtB.out_def = 0U; rtB.out_face = 0U; rtB.out_foot = 0U; rtB.out_auto = 0U; rtB.out_ac = 0.0; rtDW.is_active_c777_HVAC_model = 0U; rtDW.is_c777_HVAC_model = IN_NO_ACTIVE_CHILD_c; rtDW.is_AC_SUB = IN_NO_ACTIVE_CHILD_c; rtDW.is_DEF_SUB = IN_NO_ACTIVE_CHILD_c; rtDW.is_FACE_SUB = IN_NO_ACTIVE_CHILD_c; rtDW.is_FOOT_SUB = IN_NO_ACTIVE_CHILD_c; rtDW.is_AC_SUB_a = IN_NO_ACTIVE_CHILD_c; /* SystemInitialize for Atomic SubSystem: '/AromaLogic' */ /* SystemInitialize for MATLAB Function: '/ccuAromaLogic' */ /* : savedIntensity = uint8(0); */ rtDW.savedIntensity = 0U; /* : prevAromaIntensStat = uint8(0); */ rtDW.prevAromaIntensStat = 0U; /* End of SystemInitialize for SubSystem: '/AromaLogic' */ /* SystemInitialize for Atomic SubSystem: '/Autodemist (all-season mode and winter mode)' */ /* SystemInitialize for MATLAB Function: '/Calculate_Autodemist_Level' */ /* : current_level_FL = 0; */ rtDW.current_level_FL = 0.0; /* : current_level_FR = 0; */ rtDW.current_level_FR = 0.0; /* : active_mode = 0; */ rtDW.active_mode = 0.0; /* End of SystemInitialize for SubSystem: '/Autodemist (all-season mode and winter mode)' */ /* SystemInitialize for MATLAB Function: '/is 3 sec after T15 passed' */ is3secafterT15passed_Init(&rtDW.sf_is3secafterT15passed_k); /* SystemInitialize for Enabled SubSystem: '/TM_CP and FIU - только при зажигании' */ /* SystemInitialize for Chart: '/Defrost_Active' */ rtDW.is_active_c837_HVAC_model = 0U; rtDW.is_c837_HVAC_model = IN_NO_ACTIVE_CHILD_c; /* SystemInitialize for Chart: '/Front Window Heating' */ rtDW.is_active_c262_HVAC_model = 0U; rtDW.is_c262_HVAC_model = IN_NO_ACTIVE_CHILD_c; /* SystemInitialize for Chart: '/AC_Max_Active' */ rtDW.is_active_c782_HVAC_model = 0U; rtDW.is_c782_HVAC_model = IN_NO_ACTIVE_CHILD_c; /* SystemInitialize for Chart: '/Full_Rec_Active' */ rtDW.is_active_c836_HVAC_model = 0U; rtDW.is_c836_HVAC_model = IN_NO_ACTIVE_CHILD_c; /* End of SystemInitialize for SubSystem: '/TM_CP and FIU - только при зажигании' */ /* SystemInitialize for Atomic SubSystem: '/FOOT2_CONTROL' */ /* SystemInitialize for MATLAB Function: '/Foot2DuctControl_RL' */ /* : , */ /* : hystLV2_FL = false; */ rtDW.hystLV2_FL = false; /* : , */ /* : hystLV3_FL = false; */ rtDW.hystLV3_FL = false; /* SystemInitialize for MATLAB Function: '/Foot2DuctControl_RR' */ /* : , */ /* : hystLV2_FR = false; */ rtDW.hystLV2_FR = false; /* : , */ /* : hystLV3_FR = false; */ rtDW.hystLV3_FR = false; /* End of SystemInitialize for SubSystem: '/FOOT2_CONTROL' */ /* SystemInitialize for IfAction SubSystem: '/Homing' */ /* SystemInitialize for IfAction SubSystem: '/Switch Case Action Subsystem3' */ /* SystemInitialize for IfAction SubSystem: '/If Action Subsystem' */ /* Start for DataStoreMemory: '/Data Store Memory' */ rtDW.Start_timer_n = 1.0; /* SystemInitialize for MATLAB Function: '/MATLAB Function' */ MATLABFunction_Init(&rtDW.sf_MATLABFunction_h); /* End of SystemInitialize for SubSystem: '/If Action Subsystem' */ /* End of SystemInitialize for SubSystem: '/Switch Case Action Subsystem3' */ /* SystemInitialize for Merge: '/Merge' */ rtB.Merge_a = 0; /* End of SystemInitialize for SubSystem: '/Homing' */ /* SystemInitialize for Merge: '/Merge' */ rtB.Merge_f1 = 0; /* SystemInitialize for IfAction SubSystem: '/Homing' */ /* SystemInitialize for IfAction SubSystem: '/Switch Case Action Subsystem3' */ /* SystemInitialize for IfAction SubSystem: '/If Action Subsystem' */ /* Start for DataStoreMemory: '/Data Store Memory' */ rtDW.Start_timer_j = 1.0; /* SystemInitialize for MATLAB Function: '/MATLAB Function' */ MATLABFunction_Init(&rtDW.sf_MATLABFunction_hk); /* End of SystemInitialize for SubSystem: '/If Action Subsystem' */ /* End of SystemInitialize for SubSystem: '/Switch Case Action Subsystem3' */ /* SystemInitialize for Merge: '/Merge' */ rtB.Merge_p = 0; /* End of SystemInitialize for SubSystem: '/Homing' */ /* SystemInitialize for Merge: '/Merge' */ rtB.Merge_e = 0; /* SystemInitialize for IfAction SubSystem: '/Homing' */ /* SystemInitialize for IfAction SubSystem: '/Switch Case Action Subsystem3' */ /* SystemInitialize for IfAction SubSystem: '/If Action Subsystem' */ /* Start for DataStoreMemory: '/Data Store Memory' */ rtDW.Start_timer = 1.0; /* SystemInitialize for MATLAB Function: '/MATLAB Function' */ MATLABFunction_Init(&rtDW.sf_MATLABFunction_g); /* End of SystemInitialize for SubSystem: '/If Action Subsystem' */ /* End of SystemInitialize for SubSystem: '/Switch Case Action Subsystem3' */ /* SystemInitialize for Merge: '/Merge' */ rtB.Merge_h3 = 0; /* End of SystemInitialize for SubSystem: '/Homing' */ /* SystemInitialize for Merge: '/Merge' */ rtB.Merge_b4 = 0; /* SystemInitialize for Atomic SubSystem: '/MAX DEF' */ /* SystemInitialize for MATLAB Function: '/MATLAB Function1' */ rtDW.DRS_array_persistent_not_empty = false; rtDW.FIU_CCU1_model_persistent_not_empty = false; /* SystemInitialize for MATLAB Function: '/MATLAB Function' */ /* : is_active_persistent = false; */ rtDW.is_active_persistent = false; /* End of SystemInitialize for SubSystem: '/MAX DEF' */ /* SystemInitialize for MATLAB Function: '/MATLAB Function1' */ MATLABFunction_k_Init(&rtDW.sf_MATLABFunction1_l); /* SystemInitialize for MATLAB Function: '/MATLAB Function3' */ MATLABFunction_k_Init(&rtDW.sf_MATLABFunction3); /* SystemInitialize for MATLAB Function: '/MATLAB Function2' */ MATLABFunction_k_Init(&rtDW.sf_MATLABFunction2); /* SystemInitialize for MATLAB Function: '/MATLAB Function5' */ MATLABFunction_k_Init(&rtDW.sf_MATLABFunction5); /* SystemInitialize for MATLAB Function: '/MATLAB Function4' */ MATLABFunction_k_Init(&rtDW.sf_MATLABFunction4); /* SystemInitialize for MATLAB Function: '/MATLAB Function' */ MATLABFunction_k_Init(&rtDW.sf_MATLABFunction_m); /* SystemInitialize for IfAction SubSystem: '/Start Control Front' */ /* SystemInitialize for IfAction SubSystem: '/Step 1 F' */ /* SystemInitialize for IfAction SubSystem: '/Level 0' */ /* SystemInitialize for MATLAB Function: '/MATLAB Function1' */ MATLABFunction1_Init(&rtDW.sf_MATLABFunction1_n); /* End of SystemInitialize for SubSystem: '/Level 0' */ /* SystemInitialize for IfAction SubSystem: '/Level 1' */ /* SystemInitialize for MATLAB Function: '/MATLAB Function1' */ MATLABFunction1_a_Init(&rtDW.sf_MATLABFunction1_j); /* End of SystemInitialize for SubSystem: '/Level 1' */ /* SystemInitialize for IfAction SubSystem: '/Level 3' */ /* SystemInitialize for MATLAB Function: '/MATLAB Function1' */ MATLABFunction1_a_Init(&rtDW.sf_MATLABFunction1_d); /* End of SystemInitialize for SubSystem: '/Level 3' */ /* SystemInitialize for IfAction SubSystem: '/Level 4' */ /* SystemInitialize for MATLAB Function: '/MATLAB Function1' */ MATLABFunction1_a_Init(&rtDW.sf_MATLABFunction1_h); /* End of SystemInitialize for SubSystem: '/Level 4' */ /* SystemInitialize for IfAction SubSystem: '/Level 5' */ /* SystemInitialize for MATLAB Function: '/MATLAB Function1' */ MATLABFunction1_a_Init(&rtDW.sf_MATLABFunction1_p); /* End of SystemInitialize for SubSystem: '/Level 5' */ /* End of SystemInitialize for SubSystem: '/Step 1 F' */ /* SystemInitialize for IfAction SubSystem: '/Step 2 F' */ /* SystemInitialize for IfAction SubSystem: '/Level 0' */ /* SystemInitialize for MATLAB Function: '/MATLAB Function1' */ MATLABFunction1_a_Init(&rtDW.sf_MATLABFunction1_m); /* End of SystemInitialize for SubSystem: '/Level 0' */ /* SystemInitialize for IfAction SubSystem: '/Level 1' */ /* SystemInitialize for MATLAB Function: '/MATLAB Function1' */ MATLABFunction1_a_Init(&rtDW.sf_MATLABFunction1_i2); /* End of SystemInitialize for SubSystem: '/Level 1' */ /* SystemInitialize for IfAction SubSystem: '/Level 3' */ Level3_Init(&rtDW.Level3_d); /* End of SystemInitialize for SubSystem: '/Level 3' */ /* SystemInitialize for IfAction SubSystem: '/Level 4' */ Level3_Init(&rtDW.Level4_l); /* End of SystemInitialize for SubSystem: '/Level 4' */ /* SystemInitialize for IfAction SubSystem: '/Level 5' */ /* SystemInitialize for MATLAB Function: '/MATLAB Function1' */ MATLABFunction1_a_Init(&rtDW.sf_MATLABFunction1_j2); /* End of SystemInitialize for SubSystem: '/Level 5' */ /* End of SystemInitialize for SubSystem: '/Step 2 F' */ /* SystemInitialize for Merge: '/Merge' */ rtB.Merge_pe = 0; /* End of SystemInitialize for SubSystem: '/Start Control Front' */ /* SystemInitialize for IfAction SubSystem: '/Start Control Rear' */ /* SystemInitialize for IfAction SubSystem: '/Step 1 R' */ /* SystemInitialize for IfAction SubSystem: '/Level 0' */ Level0_c_Init(&rtDW.Level0_gj); /* End of SystemInitialize for SubSystem: '/Level 0' */ /* SystemInitialize for IfAction SubSystem: '/Level 1' */ Level0_c_Init(&rtDW.Level1_l); /* End of SystemInitialize for SubSystem: '/Level 1' */ /* SystemInitialize for IfAction SubSystem: '/Level 2' */ /* SystemInitialize for MATLAB Function: '/MATLAB Function1' */ MATLABFunction1_Init(&rtDW.sf_MATLABFunction1_m3); /* End of SystemInitialize for SubSystem: '/Level 2' */ /* SystemInitialize for IfAction SubSystem: '/Level 3' */ /* SystemInitialize for MATLAB Function: '/MATLAB Function1' */ MATLABFunction1_Init(&rtDW.sf_MATLABFunction1_c); /* End of SystemInitialize for SubSystem: '/Level 3' */ /* SystemInitialize for IfAction SubSystem: '/Level 4' */ Level4_b_Init(&rtDW.Level4_m5); /* End of SystemInitialize for SubSystem: '/Level 4' */ /* SystemInitialize for IfAction SubSystem: '/Level 5' */ Level4_b_Init(&rtDW.Level5_i); /* End of SystemInitialize for SubSystem: '/Level 5' */ /* End of SystemInitialize for SubSystem: '/Step 1 R' */ /* SystemInitialize for IfAction SubSystem: '/Step 2 R' */ /* SystemInitialize for IfAction SubSystem: '/Level 0' */ Level0_h_Init(&rtDW.Level0_ad); /* End of SystemInitialize for SubSystem: '/Level 0' */ /* SystemInitialize for IfAction SubSystem: '/Level 1' */ Level0_h_Init(&rtDW.Level1_hm); /* End of SystemInitialize for SubSystem: '/Level 1' */ /* SystemInitialize for IfAction SubSystem: '/Level 2' */ Level2_j_Init(&rtDW.Level2_f0); /* End of SystemInitialize for SubSystem: '/Level 2' */ /* SystemInitialize for IfAction SubSystem: '/Level 3' */ Level2_j_Init(&rtDW.Level3_p); /* End of SystemInitialize for SubSystem: '/Level 3' */ /* SystemInitialize for IfAction SubSystem: '/Level 4' */ Level2_j_Init(&rtDW.Level4_b); /* End of SystemInitialize for SubSystem: '/Level 4' */ /* SystemInitialize for IfAction SubSystem: '/Level 5' */ Level2_j_Init(&rtDW.Level5_ph); /* End of SystemInitialize for SubSystem: '/Level 5' */ /* End of SystemInitialize for SubSystem: '/Step 2 R' */ /* SystemInitialize for Merge: '/Merge' */ rtB.Merge_a0 = 0; /* End of SystemInitialize for SubSystem: '/Start Control Rear' */ } } /* Model terminate function */ void HVAC_model_terminate(void) { /* (no terminate code required) */ } /* * File trailer for generated code. * * [EOF] */