chg-stn-motherboard-ti-mcu/bs_touchAndLcd/socTouchDisplay_ert_rtw/socTouchDisplay.c

1142 lines
45 KiB
C

/*
* 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 <math.h>
#include "rt_nonfinite.h"
#include "socTouchDisplay_private.h"
/* Named constants for Chart: '<Root>/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: '<Root>/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: '<Root>/canMsgDecode' incorporates:
* ForIterator: '<S3>/For Iterator'
*/
/* InitializeConditions for Memory: '<S3>/Memory' */
Memory_PreviousInput = false;
for (s3_iter = 0; s3_iter < 10; s3_iter++) {
/* Selector: '<S3>/Selector' incorporates:
* Inport: '<Root>/Input'
*/
socTouchDisplay_B.Selector = socTouchDisplay_U.Input[s3_iter];
/* S-Function (canReceive): '<S3>/S-Function' */
canReceive_Outputs_wrapper(&socTouchDisplay_B.Selector.ID,
&socTouchDisplay_B.Selector.Length, &socTouchDisplay_B.Selector.Data[0],
&socTouchDisplay_B.SFunction);
/* Memory: '<S3>/Memory' */
rtb_Memory = Memory_PreviousInput;
/* S-Function (scanunpack): '<S3>/CAN Unpack' */
{
/* S-Function (scanunpack): '<S3>/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: '<S3>/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: '<S3>/Cast' */
/* Update for Memory: '<S3>/Memory' incorporates:
* Logic: '<S3>/OR'
* RelationalOperator: '<S3>/Equal'
*/
Memory_PreviousInput = ((socTouchDisplay_B.SFunction.ID == 220839530U) ||
Memory_PreviousInput);
}
/* End of Outputs for SubSystem: '<Root>/canMsgDecode' */
/* Chart: '<Root>/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: '<Root>/Chart1' */
/* Chart: '<Root>/Chart' incorporates:
* Inport: '<Root>/in_bTouchDetected'
* Inport: '<Root>/ip_u32DisplayDuration_msec'
* Inport: '<Root>/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: '<Root>/op_bDisplayStatus' */
socTouchDisplay_Y.op_bDisplayStatus = false;
/* Outport: '<Root>/op_bErrorStatus' */
socTouchDisplay_Y.op_bErrorStatus = false;
} else {
switch (socTouchDisplay_DW.is_c3_socTouchDisplay) {
case socTouchDisplay_IN_displayError:
/* Outport: '<Root>/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: '<Root>/op_bDisplayStatus' */
socTouchDisplay_Y.op_bDisplayStatus = false;
/* Outport: '<Root>/op_bErrorStatus' */
socTouchDisplay_Y.op_bErrorStatus = false;
}
break;
case socTouchDisplay_IN_displaySoc:
/* Outport: '<Root>/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: '<Root>/op_bDisplayStatus' */
socTouchDisplay_Y.op_bDisplayStatus = false;
/* Outport: '<Root>/op_bErrorStatus' */
socTouchDisplay_Y.op_bErrorStatus = false;
}
break;
case socTouchDis_IN_touchNotDetected:
/* Outport: '<Root>/op_bDisplayStatus' */
socTouchDisplay_Y.op_bDisplayStatus = false;
/* Outport: '<Root>/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: '<Root>/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: '<Root>/op_bErrorStatus' */
socTouchDisplay_Y.op_bErrorStatus = true;
}
}
break;
default:
/* Outport: '<Root>/op_bDisplayStatus' */
/* case IN_waitTillNextTouch: */
socTouchDisplay_Y.op_bDisplayStatus = false;
/* Outport: '<Root>/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: '<Root>/Chart' */
/* Outputs for Atomic SubSystem: '<Root>/displayData' */
/* Switch: '<S4>/Switch1' incorporates:
* Outport: '<Root>/op_bErrorStatus'
* Switch: '<S4>/Switch'
* Switch: '<S4>/Switch2'
*/
if (socTouchDisplay_Y.op_bErrorStatus) {
/* Outport: '<Root>/op_u8TensPlace' incorporates:
* Constant: '<S4>/Constant3'
*/
socTouchDisplay_Y.op_u8TensPlace = 114U;
/* Outport: '<Root>/op_u8OnesPlace' incorporates:
* Constant: '<S4>/Constant4'
*/
socTouchDisplay_Y.op_u8OnesPlace = 114U;
/* Outport: '<Root>/op_u8HundredsPlace' incorporates:
* Constant: '<S4>/Constant2'
*/
socTouchDisplay_Y.op_u8HundredsPlace = 69U;
} else {
/* Outport: '<Root>/op_u8TensPlace' incorporates:
* Constant: '<S4>/Constant'
* Math: '<S4>/Mod1'
* Product: '<S4>/Divide'
*/
socTouchDisplay_Y.op_u8TensPlace = (uint8_T)((int32_T)(rtb_Cast / 10U) % 10);
/* Outport: '<Root>/op_u8OnesPlace' incorporates:
* Math: '<S4>/Mod2'
*/
socTouchDisplay_Y.op_u8OnesPlace = (uint8_T)(rtb_Cast % 10);
/* Outport: '<Root>/op_u8HundredsPlace' incorporates:
* Constant: '<S4>/Constant1'
* Math: '<S4>/Mod'
* Product: '<S4>/Divide1'
*/
socTouchDisplay_Y.op_u8HundredsPlace = (uint8_T)((int32_T)(rtb_Cast / 100U) %
10);
}
/* End of Switch: '<S4>/Switch1' */
/* End of Outputs for SubSystem: '<Root>/displayData' */
}
/* Model initialize function */
void socTouchDisplay_initialize(void)
{
/* Registration code */
/* initialize non-finites */
rt_InitInfAndNaN(sizeof(real_T));
/* SystemInitialize for Iterator SubSystem: '<Root>/canMsgDecode' */
/* Start for S-Function (scanunpack): '<S3>/CAN Unpack' */
/*-----------S-Function Block: <S3>/CAN Unpack -----------------*/
/* End of SystemInitialize for SubSystem: '<Root>/canMsgDecode' */
}
/* Model terminate function */
void socTouchDisplay_terminate(void)
{
/* (no terminate code required) */
}
/*
* File trailer for generated code.
*
* [EOF]
*/