/*
 * File: TouchBoard_MENU_handle_4ms.c
 *
 * Code generated for Simulink model 'P417_SWTR_App'.
 *
 * Model version                  : 1.150
 * Simulink Coder version         : 8.13 (R2017b) 24-Jul-2017
 * C/C++ source code generated on : Thu Dec 15 23:34:40 2022
 *
 * Target selection: ert.tlc
 * Embedded hardware selection: Intel->x86-64 (Windows64)
 * Code generation objectives: Unspecified
 * Validation result: Not run
 */

#include "TouchBoard_MENU_handle_4ms.h"

/* Include model header file for global data */
#include "P417_SWTR_App.h"
#include "P417_SWTR_App_private.h"

/* System initialize for function-call system: '<S2>/TouchBoard_MENU_handle_4ms' */
void TouchBoard_MENU_handle_4ms_Init(uint8_T *rty_TouchBoard_MENU_Sts_after_h,
  uint8_T *rty_Menu_XY_trig_afhd, DW_TouchBoard_MENU_handle_4ms_T *localDW)
{
  /* SystemInitialize for Chart: '<S69>/Value_Debounce_Chart' */
  P417__Value_Debounce_Chart_Init(rty_TouchBoard_MENU_Sts_after_h,
    &localDW->sf_Value_Debounce_Chart);

  /* SystemInitialize for Chart: '<S70>/Value_Debounce_Chart' */
  P417__Value_Debounce_Chart_Init(rty_Menu_XY_trig_afhd,
    &localDW->sf_Value_Debounce_Chart_g);
}

/* Output and update for function-call system: '<S2>/TouchBoard_MENU_handle_4ms' */
void P417_TouchBoard_MENU_handle_4ms(uint8_T rtu_TouchBoard_MENU_Sts_input,
  uint8_T rtu_Menu_XY_trig_in, uint8_T *rty_TouchBoard_MENU_Sts_after_h, uint8_T
  *rty_Menu_XY_trig_afhd, DW_TouchBoard_MENU_handle_4ms_T *localDW)
{
  /* Chart: '<S69>/Value_Debounce_Chart' incorporates:
   *  RelationalOperator: '<S71>/FixPt Relational Operator'
   *  UnitDelay: '<S71>/Delay Input1'
   *
   * Block description for '<S71>/Delay Input1':
   *
   *  Store in Global RAM
   */
  P417_SWTR__Value_Debounce_Chart(rtu_TouchBoard_MENU_Sts_input, (uint8_T)
    (rtu_TouchBoard_MENU_Sts_input != localDW->DelayInput1_DSTATE),
    rty_TouchBoard_MENU_Sts_after_h, &localDW->sf_Value_Debounce_Chart, 3U);

  /* Chart: '<S70>/Value_Debounce_Chart' incorporates:
   *  RelationalOperator: '<S73>/FixPt Relational Operator'
   *  UnitDelay: '<S73>/Delay Input1'
   *
   * Block description for '<S73>/Delay Input1':
   *
   *  Store in Global RAM
   */
  P417_SWTR__Value_Debounce_Chart(rtu_Menu_XY_trig_in, (uint8_T)
    (rtu_Menu_XY_trig_in != localDW->DelayInput1_DSTATE_d),
    rty_Menu_XY_trig_afhd, &localDW->sf_Value_Debounce_Chart_g, 3U);

  /* Update for UnitDelay: '<S71>/Delay Input1'
   *
   * Block description for '<S71>/Delay Input1':
   *
   *  Store in Global RAM
   */
  localDW->DelayInput1_DSTATE = rtu_TouchBoard_MENU_Sts_input;

  /* Update for UnitDelay: '<S73>/Delay Input1'
   *
   * Block description for '<S73>/Delay Input1':
   *
   *  Store in Global RAM
   */
  localDW->DelayInput1_DSTATE_d = rtu_Menu_XY_trig_in;
}

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