/*
 * File: TouchBoard_X_handle_4ms.c
 *
 * Code generated for Simulink model 'P417_SWTL_App'.
 *
 * Model version                  : 1.156
 * Simulink Coder version         : 8.13 (R2017b) 24-Jul-2017
 * C/C++ source code generated on : Sun Jun 25 21:44:44 2023
 *
 * Target selection: ert.tlc
 * Embedded hardware selection: Intel->x86-64 (Windows64)
 * Code generation objectives: Unspecified
 * Validation result: Not run
 */

#include "TouchBoard_X_handle_4ms.h"

/* Include model header file for global data */
#include "P417_SWTL_App.h"
#include "P417_SWTL_App_private.h"

/* System initialize for function-call system: '<S2>/TouchBoard_X_handle_4ms' */
void P4_TouchBoard_X_handle_4ms_Init(B_TouchBoard_X_handle_4ms_P41_T *localB)
{
  /* SystemInitialize for Atomic SubSystem: '<S31>/Subsystem_selX' */
  P417_SWTL_A_Subsystem_selX_Init(&localB->Slect);

  /* End of SystemInitialize for SubSystem: '<S31>/Subsystem_selX' */
}

/* Output and update for function-call system: '<S2>/TouchBoard_X_handle_4ms' */
void P417_SW_TouchBoard_X_handle_4ms(uint8_T rtu_Up_Trigg_afhd_in, uint8_T
  rtu_Down_Trigg_afhd_in, uint8_T rtu_Left_Trigg_afhd_in, uint8_T
  rtu_Right_Trigg_afhd_in, uint8_T rtu_Center_Trigg_afhd_in,
  B_TouchBoard_X_handle_4ms_P41_T *localB, const ConstB_TouchBoard_X_handle_4m_T
  *localC)
{
  /* Outputs for Atomic SubSystem: '<S31>/Subsystem_selX' */

  /* RelationalOperator: '<S55>/Compare' incorporates:
   *  Constant: '<S55>/Constant'
   *  Constant: '<S56>/Constant'
   *  Constant: '<S57>/Constant'
   *  Constant: '<S58>/Constant'
   *  Constant: '<S59>/Constant'
   *  RelationalOperator: '<S56>/Compare'
   *  RelationalOperator: '<S57>/Compare'
   *  RelationalOperator: '<S58>/Compare'
   *  RelationalOperator: '<S59>/Compare'
   */
  P417_SWTL_App_Subsystem_selX(localC->Compare_p, localC->Compare_c,
    localC->Compare_h, localC->Compare, (uint8_T)(rtu_Up_Trigg_afhd_in > 0),
    (uint8_T)(rtu_Down_Trigg_afhd_in > 0), (uint8_T)(rtu_Left_Trigg_afhd_in > 0),
    (uint8_T)(rtu_Right_Trigg_afhd_in > 0), (uint8_T)(rtu_Center_Trigg_afhd_in >
    0), &localB->Slect);

  /* End of Outputs for SubSystem: '<S31>/Subsystem_selX' */

  /* MultiPortSwitch: '<S31>/Multiport Switch' incorporates:
   *  Constant: '<S31>/Constant'
   *  Constant: '<S31>/Constant1'
   *  Constant: '<S31>/Constant12'
   *  Constant: '<S31>/Constant2'
   *  Constant: '<S31>/Constant3'
   *  Constant: '<S31>/Constant4'
   *  Constant: '<S31>/Constant5'
   *  Constant: '<S31>/Constant6'
   *  Constant: '<S31>/Constant7'
   */
  switch (localB->Slect) {
   case 1:
    RTE_Set_CAN_SteerWhlTouchBdLeTouchPosnX(0U);
    break;

   case 2:
    RTE_Set_CAN_SteerWhlTouchBdLeTouchPosnX(0U);
    break;

   case 3:
    RTE_Set_CAN_SteerWhlTouchBdLeTouchPosnX(0U);
    break;

   case 4:
    RTE_Set_CAN_SteerWhlTouchBdLeTouchPosnX(0U);
    break;

   case 5:
    RTE_Set_CAN_SteerWhlTouchBdLeTouchPosnX(172U);
    break;

   case 6:
    RTE_Set_CAN_SteerWhlTouchBdLeTouchPosnX(172U);
    break;

   case 7:
    RTE_Set_CAN_SteerWhlTouchBdLeTouchPosnX(225U);
    break;

   case 8:
    RTE_Set_CAN_SteerWhlTouchBdLeTouchPosnX(120U);
    break;

   case 9:
    RTE_Set_CAN_SteerWhlTouchBdLeTouchPosnX(172U);
    break;
  }

  /* End of MultiPortSwitch: '<S31>/Multiport Switch' */
}

/*
 * File trailer for generated code.
 *
 * [EOF]
 */
