/* * File: socTouchDisplay.c * * Code generated for Simulink model 'socTouchDisplay'. * * Model version : 1.104 * Simulink Coder version : 23.2 (R2023b) 01-Aug-2023 * C/C++ source code generated on : Mon Oct 28 16:04:13 2024 * * Target selection: ert.tlc * Embedded hardware selection: Intel->x86-64 (Windows64) * Code generation objectives: Unspecified * Validation result: Not run */ #include "socTouchDisplay.h" #include "rtwtypes.h" #include #include "rt_nonfinite.h" #include "socTouchDisplay_private.h" /* Named constants for Chart: '/Chart' */ #define socTouchDi_IN_waitTillNextTouch ((uint8_T)4U) #define socTouchDis_IN_touchNotDetected ((uint8_T)3U) #define socTouchDisplay_IN_displayError ((uint8_T)1U) #define socTouchDisplay_IN_displaySoc ((uint8_T)2U) /* Named constants for Chart: '/Chart1' */ #define socTouchDisplay_IN_bmsPresent ((uint8_T)1U) #define socTouchDisplay_IN_init ((uint8_T)2U) /* Block signals (default storage) */ B_socTouchDisplay_T socTouchDisplay_B; /* Block states (default storage) */ DW_socTouchDisplay_T socTouchDisplay_DW; /* External inputs (root inport signals with default storage) */ ExtU_socTouchDisplay_T socTouchDisplay_U; /* External outputs (root outports fed by signals with default storage) */ ExtY_socTouchDisplay_T socTouchDisplay_Y; /* Real-time model */ static RT_MODEL_socTouchDisplay_T socTouchDisplay_M_; RT_MODEL_socTouchDisplay_T *const socTouchDisplay_M = &socTouchDisplay_M_; /* Model step function */ void socTouchDisplay_step(void) { real_T tmp; int32_T s3_iter; uint32_T tmp_0; uint8_T rtb_Cast; boolean_T Memory_PreviousInput; boolean_T rtb_Memory; /* Outputs for Iterator SubSystem: '/canMsgDecode' incorporates: * ForIterator: '/For Iterator' */ /* InitializeConditions for Memory: '/Memory' */ Memory_PreviousInput = false; for (s3_iter = 0; s3_iter < 10; s3_iter++) { /* Selector: '/Selector' incorporates: * Inport: '/Input' */ socTouchDisplay_B.Selector = socTouchDisplay_U.Input[s3_iter]; /* S-Function (canReceive): '/S-Function' */ canReceive_Outputs_wrapper(&socTouchDisplay_B.Selector.ID, &socTouchDisplay_B.Selector.Length, &socTouchDisplay_B.Selector.Data[0], &socTouchDisplay_B.SFunction); /* Memory: '/Memory' */ rtb_Memory = Memory_PreviousInput; /* S-Function (scanunpack): '/CAN Unpack' */ { /* S-Function (scanunpack): '/CAN Unpack' */ if ((8 == socTouchDisplay_B.SFunction.Length) && (socTouchDisplay_B.SFunction.ID != INVALID_CAN_ID) ) { if ((220839530 == socTouchDisplay_B.SFunction.ID) && (1U == socTouchDisplay_B.SFunction.Extended) ) { { /* --------------- START Unpacking signal 16 ------------------ * startBit = 0 * length = 8 * desiredSignalByteLayout = BIGENDIAN * dataType = UNSIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ { real_T outValue = 0; { uint8_T unpackedValue = 0; { uint8_T tempValue = (uint8_T) (0); { tempValue = tempValue | (uint8_T) (socTouchDisplay_B.SFunction.Data[0]); } unpackedValue = tempValue; } outValue = (real_T) (unpackedValue); } { real_T result = (real_T) outValue; socTouchDisplay_B.CANUnpack_o17 = result; } } /* --------------- START Unpacking signal 0 ------------------ * startBit = 8 * length = 8 * desiredSignalByteLayout = BIGENDIAN * dataType = SIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 1 ------------------ * startBit = 24 * length = 8 * desiredSignalByteLayout = BIGENDIAN * dataType = SIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 2 ------------------ * startBit = 32 * length = 8 * desiredSignalByteLayout = BIGENDIAN * dataType = SIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 3 ------------------ * startBit = 40 * length = 8 * desiredSignalByteLayout = BIGENDIAN * dataType = SIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 4 ------------------ * startBit = 48 * length = 8 * desiredSignalByteLayout = BIGENDIAN * dataType = SIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 5 ------------------ * startBit = 56 * length = 8 * desiredSignalByteLayout = BIGENDIAN * dataType = SIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 6 ------------------ * startBit = 8 * length = 8 * desiredSignalByteLayout = BIGENDIAN * dataType = SIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 7 ------------------ * startBit = 16 * length = 8 * desiredSignalByteLayout = BIGENDIAN * dataType = SIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 8 ------------------ * startBit = 16 * length = 8 * desiredSignalByteLayout = BIGENDIAN * dataType = SIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 9 ------------------ * startBit = 24 * length = 8 * desiredSignalByteLayout = BIGENDIAN * dataType = SIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 10 ------------------ * startBit = 32 * length = 8 * desiredSignalByteLayout = BIGENDIAN * dataType = SIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 11 ------------------ * startBit = 40 * length = 8 * desiredSignalByteLayout = BIGENDIAN * dataType = SIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 12 ------------------ * startBit = 48 * length = 8 * desiredSignalByteLayout = BIGENDIAN * dataType = SIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 13 ------------------ * startBit = 56 * length = 8 * desiredSignalByteLayout = BIGENDIAN * dataType = SIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 14 ------------------ * startBit = 8 * length = 8 * desiredSignalByteLayout = BIGENDIAN * dataType = SIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 15 ------------------ * startBit = 16 * length = 8 * desiredSignalByteLayout = BIGENDIAN * dataType = SIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 17 ------------------ * startBit = 8 * length = 8 * desiredSignalByteLayout = BIGENDIAN * dataType = UNSIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 18 ------------------ * startBit = 48 * length = 16 * desiredSignalByteLayout = BIGENDIAN * dataType = UNSIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 19 ------------------ * startBit = 32 * length = 16 * desiredSignalByteLayout = BIGENDIAN * dataType = SIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 20 ------------------ * startBit = 48 * length = 8 * desiredSignalByteLayout = BIGENDIAN * dataType = UNSIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 21 ------------------ * startBit = 40 * length = 8 * desiredSignalByteLayout = BIGENDIAN * dataType = SIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 22 ------------------ * startBit = 16 * length = 16 * desiredSignalByteLayout = BIGENDIAN * dataType = UNSIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 23 ------------------ * startBit = 8 * length = 8 * desiredSignalByteLayout = BIGENDIAN * dataType = UNSIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 24 ------------------ * startBit = 16 * length = 8 * desiredSignalByteLayout = BIGENDIAN * dataType = UNSIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 25 ------------------ * startBit = 24 * length = 8 * desiredSignalByteLayout = BIGENDIAN * dataType = UNSIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 26 ------------------ * startBit = 32 * length = 8 * desiredSignalByteLayout = BIGENDIAN * dataType = UNSIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 27 ------------------ * startBit = 40 * length = 8 * desiredSignalByteLayout = BIGENDIAN * dataType = UNSIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 28 ------------------ * startBit = 8 * length = 1 * desiredSignalByteLayout = BIGENDIAN * dataType = UNSIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 29 ------------------ * startBit = 9 * length = 1 * desiredSignalByteLayout = BIGENDIAN * dataType = UNSIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 30 ------------------ * startBit = 16 * length = 16 * desiredSignalByteLayout = BIGENDIAN * dataType = UNSIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 31 ------------------ * startBit = 16 * length = 16 * desiredSignalByteLayout = BIGENDIAN * dataType = UNSIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 32 ------------------ * startBit = 32 * length = 16 * desiredSignalByteLayout = BIGENDIAN * dataType = UNSIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 33 ------------------ * startBit = 48 * length = 16 * desiredSignalByteLayout = BIGENDIAN * dataType = UNSIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 34 ------------------ * startBit = 16 * length = 16 * desiredSignalByteLayout = BIGENDIAN * dataType = UNSIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 35 ------------------ * startBit = 32 * length = 16 * desiredSignalByteLayout = BIGENDIAN * dataType = UNSIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 36 ------------------ * startBit = 48 * length = 16 * desiredSignalByteLayout = BIGENDIAN * dataType = UNSIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 37 ------------------ * startBit = 16 * length = 16 * desiredSignalByteLayout = BIGENDIAN * dataType = UNSIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 38 ------------------ * startBit = 32 * length = 16 * desiredSignalByteLayout = BIGENDIAN * dataType = UNSIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 39 ------------------ * startBit = 48 * length = 16 * desiredSignalByteLayout = BIGENDIAN * dataType = UNSIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 40 ------------------ * startBit = 16 * length = 16 * desiredSignalByteLayout = BIGENDIAN * dataType = UNSIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 41 ------------------ * startBit = 32 * length = 16 * desiredSignalByteLayout = BIGENDIAN * dataType = UNSIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 42 ------------------ * startBit = 48 * length = 16 * desiredSignalByteLayout = BIGENDIAN * dataType = UNSIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 43 ------------------ * startBit = 16 * length = 16 * desiredSignalByteLayout = BIGENDIAN * dataType = UNSIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 44 ------------------ * startBit = 32 * length = 16 * desiredSignalByteLayout = BIGENDIAN * dataType = UNSIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 45 ------------------ * startBit = 48 * length = 16 * desiredSignalByteLayout = BIGENDIAN * dataType = UNSIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 46 ------------------ * startBit = 32 * length = 16 * desiredSignalByteLayout = BIGENDIAN * dataType = UNSIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 47 ------------------ * startBit = 9 * length = 1 * desiredSignalByteLayout = BIGENDIAN * dataType = UNSIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 48 ------------------ * startBit = 8 * length = 1 * desiredSignalByteLayout = BIGENDIAN * dataType = UNSIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 49 ------------------ * startBit = 16 * length = 8 * desiredSignalByteLayout = BIGENDIAN * dataType = SIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 50 ------------------ * startBit = 10 * length = 1 * desiredSignalByteLayout = BIGENDIAN * dataType = UNSIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 51 ------------------ * startBit = 11 * length = 1 * desiredSignalByteLayout = BIGENDIAN * dataType = UNSIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 52 ------------------ * startBit = 13 * length = 1 * desiredSignalByteLayout = BIGENDIAN * dataType = UNSIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 53 ------------------ * startBit = 14 * length = 1 * desiredSignalByteLayout = BIGENDIAN * dataType = UNSIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 54 ------------------ * startBit = 15 * length = 1 * desiredSignalByteLayout = BIGENDIAN * dataType = UNSIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 55 ------------------ * startBit = 16 * length = 8 * desiredSignalByteLayout = BIGENDIAN * dataType = UNSIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* Perform the mode dependency check to value */ if (socTouchDisplay_B.CANUnpack_o17 == 2.0) { { real_T outValue = 0; { uint8_T unpackedValue = 0; { uint8_T tempValue = (uint8_T) (0); { tempValue = tempValue | (uint8_T) (socTouchDisplay_B.SFunction.Data[2]); } unpackedValue = tempValue; } outValue = (real_T) (unpackedValue); } { real_T result = (real_T) outValue; socTouchDisplay_B.CANUnpack_o56 = result; } } } /* --------------- START Unpacking signal 56 ------------------ * startBit = 8 * length = 8 * desiredSignalByteLayout = BIGENDIAN * dataType = UNSIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ /* --------------- START Unpacking signal 57 ------------------ * startBit = 12 * length = 1 * desiredSignalByteLayout = BIGENDIAN * dataType = UNSIGNED * factor = 1.0 * offset = 0.0 * -----------------------------------------------------------------------*/ /* * Signal is not connected or connected to terminator. * No unpacking code generated. */ } } } } /* DataTypeConversion: '/Cast' */ tmp = floor(socTouchDisplay_B.CANUnpack_o56); if (rtIsNaN(tmp) || rtIsInf(tmp)) { tmp = 0.0; } else { tmp = fmod(tmp, 256.0); } if (tmp < 0.0) { rtb_Cast = (uint8_T)-(int8_T)(uint8_T)-tmp; } else { rtb_Cast = (uint8_T)tmp; } /* End of DataTypeConversion: '/Cast' */ /* Update for Memory: '/Memory' incorporates: * Logic: '/OR' * RelationalOperator: '/Equal' */ Memory_PreviousInput = ((socTouchDisplay_B.SFunction.ID == 220839530U) || Memory_PreviousInput); } /* End of Outputs for SubSystem: '/canMsgDecode' */ /* Chart: '/Chart1' */ if (socTouchDisplay_DW.is_active_c1_socTouchDisplay == 0U) { socTouchDisplay_DW.is_active_c1_socTouchDisplay = 1U; socTouchDisplay_DW.is_c1_socTouchDisplay = socTouchDisplay_IN_init; Memory_PreviousInput = false; } else if (socTouchDisplay_DW.is_c1_socTouchDisplay == socTouchDisplay_IN_bmsPresent) { Memory_PreviousInput = true; if (rtb_Memory) { socTouchDisplay_DW.durationCounter_1 = 0U; } if (socTouchDisplay_DW.durationCounter_1 > 150U) { socTouchDisplay_DW.is_c1_socTouchDisplay = socTouchDisplay_IN_init; Memory_PreviousInput = false; } } else { /* case IN_init: */ Memory_PreviousInput = false; if (rtb_Memory) { socTouchDisplay_DW.durationCounter_1 = 0U; socTouchDisplay_DW.is_c1_socTouchDisplay = socTouchDisplay_IN_bmsPresent; Memory_PreviousInput = true; } } if (!rtb_Memory) { socTouchDisplay_DW.durationCounter_1++; } else { socTouchDisplay_DW.durationCounter_1 = 0U; } /* End of Chart: '/Chart1' */ /* Chart: '/Chart' incorporates: * Inport: '/in_bTouchDetected' * Inport: '/ip_u32DisplayDuration_msec' * Inport: '/ip_u32TouchDuration_msec' */ if (socTouchDisplay_DW.temporalCounter_i1 < MAX_uint32_T) { socTouchDisplay_DW.temporalCounter_i1++; } if (socTouchDisplay_DW.is_active_c3_socTouchDisplay == 0U) { socTouchDisplay_DW.is_active_c3_socTouchDisplay = 1U; socTouchDisplay_DW.durationCounter_2 = 0U; socTouchDisplay_DW.durationCounter_1_g = 0U; socTouchDisplay_DW.is_c3_socTouchDisplay = socTouchDis_IN_touchNotDetected; /* Outport: '/op_bDisplayStatus' */ socTouchDisplay_Y.op_bDisplayStatus = false; /* Outport: '/op_bErrorStatus' */ socTouchDisplay_Y.op_bErrorStatus = false; } else { switch (socTouchDisplay_DW.is_c3_socTouchDisplay) { case socTouchDisplay_IN_displayError: /* Outport: '/op_bErrorStatus' */ socTouchDisplay_Y.op_bErrorStatus = true; if ((uint32_T)((int32_T)socTouchDisplay_DW.temporalCounter_i1 * 100) >= (uint32_T)ceil(socTouchDisplay_U.ip_u32DisplayDuration_msec)) { socTouchDisplay_DW.temporalCounter_i1 = 0U; socTouchDisplay_DW.is_c3_socTouchDisplay = socTouchDi_IN_waitTillNextTouch; /* Outport: '/op_bDisplayStatus' */ socTouchDisplay_Y.op_bDisplayStatus = false; /* Outport: '/op_bErrorStatus' */ socTouchDisplay_Y.op_bErrorStatus = false; } break; case socTouchDisplay_IN_displaySoc: /* Outport: '/op_bDisplayStatus' */ socTouchDisplay_Y.op_bDisplayStatus = true; if ((uint32_T)((int32_T)socTouchDisplay_DW.temporalCounter_i1 * 100) >= (uint32_T)ceil(socTouchDisplay_U.ip_u32DisplayDuration_msec)) { socTouchDisplay_DW.temporalCounter_i1 = 0U; socTouchDisplay_DW.is_c3_socTouchDisplay = socTouchDi_IN_waitTillNextTouch; /* Outport: '/op_bDisplayStatus' */ socTouchDisplay_Y.op_bDisplayStatus = false; /* Outport: '/op_bErrorStatus' */ socTouchDisplay_Y.op_bErrorStatus = false; } break; case socTouchDis_IN_touchNotDetected: /* Outport: '/op_bDisplayStatus' */ socTouchDisplay_Y.op_bDisplayStatus = false; /* Outport: '/op_bErrorStatus' */ socTouchDisplay_Y.op_bErrorStatus = false; rtb_Memory = !(socTouchDisplay_U.in_bTouchDetected == 1.0); if (rtb_Memory) { socTouchDisplay_DW.durationCounter_2 = 0U; } tmp_0 = (uint32_T)ceil(socTouchDisplay_U.ip_u32TouchDuration_msec); if (((uint32_T)((int32_T)socTouchDisplay_DW.durationCounter_2 * 100) > tmp_0) && Memory_PreviousInput) { socTouchDisplay_DW.temporalCounter_i1 = 0U; socTouchDisplay_DW.is_c3_socTouchDisplay = socTouchDisplay_IN_displaySoc; /* Outport: '/op_bDisplayStatus' */ socTouchDisplay_Y.op_bDisplayStatus = true; } else { if (rtb_Memory) { socTouchDisplay_DW.durationCounter_1_g = 0U; } if (((uint32_T)((int32_T)socTouchDisplay_DW.durationCounter_1_g * 100) > tmp_0) && (!Memory_PreviousInput)) { socTouchDisplay_DW.temporalCounter_i1 = 0U; socTouchDisplay_DW.is_c3_socTouchDisplay = socTouchDisplay_IN_displayError; /* Outport: '/op_bErrorStatus' */ socTouchDisplay_Y.op_bErrorStatus = true; } } break; default: /* Outport: '/op_bDisplayStatus' */ /* case IN_waitTillNextTouch: */ socTouchDisplay_Y.op_bDisplayStatus = false; /* Outport: '/op_bErrorStatus' */ socTouchDisplay_Y.op_bErrorStatus = false; if (socTouchDisplay_DW.temporalCounter_i1 >= 100U) { socTouchDisplay_DW.durationCounter_2 = 0U; socTouchDisplay_DW.durationCounter_1_g = 0U; socTouchDisplay_DW.is_c3_socTouchDisplay = socTouchDis_IN_touchNotDetected; } break; } } if (socTouchDisplay_U.in_bTouchDetected == 1.0) { socTouchDisplay_DW.durationCounter_1_g++; socTouchDisplay_DW.durationCounter_2++; } else { socTouchDisplay_DW.durationCounter_1_g = 0U; socTouchDisplay_DW.durationCounter_2 = 0U; } /* End of Chart: '/Chart' */ /* Outputs for Atomic SubSystem: '/displayData' */ /* Switch: '/Switch1' incorporates: * Outport: '/op_bErrorStatus' * Switch: '/Switch' * Switch: '/Switch2' */ if (socTouchDisplay_Y.op_bErrorStatus) { /* Outport: '/op_u8TensPlace' incorporates: * Constant: '/Constant3' */ socTouchDisplay_Y.op_u8TensPlace = 114U; /* Outport: '/op_u8OnesPlace' incorporates: * Constant: '/Constant4' */ socTouchDisplay_Y.op_u8OnesPlace = 114U; /* Outport: '/op_u8HundredsPlace' incorporates: * Constant: '/Constant2' */ socTouchDisplay_Y.op_u8HundredsPlace = 69U; } else { /* Outport: '/op_u8TensPlace' incorporates: * Constant: '/Constant' * Math: '/Mod1' * Product: '/Divide' */ socTouchDisplay_Y.op_u8TensPlace = (uint8_T)((int32_T)(rtb_Cast / 10U) % 10); /* Outport: '/op_u8OnesPlace' incorporates: * Math: '/Mod2' */ socTouchDisplay_Y.op_u8OnesPlace = (uint8_T)(rtb_Cast % 10); /* Outport: '/op_u8HundredsPlace' incorporates: * Constant: '/Constant1' * Math: '/Mod' * Product: '/Divide1' */ socTouchDisplay_Y.op_u8HundredsPlace = (uint8_T)((int32_T)(rtb_Cast / 100U) % 10); } /* End of Switch: '/Switch1' */ /* End of Outputs for SubSystem: '/displayData' */ } /* Model initialize function */ void socTouchDisplay_initialize(void) { /* Registration code */ /* initialize non-finites */ rt_InitInfAndNaN(sizeof(real_T)); /* SystemInitialize for Iterator SubSystem: '/canMsgDecode' */ /* Start for S-Function (scanunpack): '/CAN Unpack' */ /*-----------S-Function Block: /CAN Unpack -----------------*/ /* End of SystemInitialize for SubSystem: '/canMsgDecode' */ } /* Model terminate function */ void socTouchDisplay_terminate(void) { /* (no terminate code required) */ } /* * File trailer for generated code. * * [EOF] */