/*
 * File: TouchBoard_VOICE_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_VOICE_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_VOICE_handle_4ms' */
void TouchBoard_VOICE_handle_4m_Init(uint8_T *rty_TouchBoard_VOICE_Sts_after_,
  uint8_T *rty_Voice_XY_trig_afhd, DW_TouchBoard_VOICE_handle_4m_T *localDW)
{
  /* SystemInitialize for Chart: '<S84>/Value_Debounce_Chart' */
  P417__Value_Debounce_Chart_Init(rty_TouchBoard_VOICE_Sts_after_,
    &localDW->sf_Value_Debounce_Chart);

  /* SystemInitialize for Chart: '<S85>/Value_Debounce_Chart' */
  P417__Value_Debounce_Chart_Init(rty_Voice_XY_trig_afhd,
    &localDW->sf_Value_Debounce_Chart_a);
}

/* Output and update for function-call system: '<S2>/TouchBoard_VOICE_handle_4ms' */
void P41_TouchBoard_VOICE_handle_4ms(uint8_T rtu_TouchBoard_VOICE_Sts_input,
  uint8_T rtu_Voice_XY_trig_in, uint8_T *rty_TouchBoard_VOICE_Sts_after_,
  uint8_T *rty_Voice_XY_trig_afhd, DW_TouchBoard_VOICE_handle_4m_T *localDW)
{
  /* Chart: '<S84>/Value_Debounce_Chart' incorporates:
   *  RelationalOperator: '<S86>/FixPt Relational Operator'
   *  UnitDelay: '<S86>/Delay Input1'
   *
   * Block description for '<S86>/Delay Input1':
   *
   *  Store in Global RAM
   */
  P417_SWTR__Value_Debounce_Chart(rtu_TouchBoard_VOICE_Sts_input, (uint8_T)
    (rtu_TouchBoard_VOICE_Sts_input != localDW->DelayInput1_DSTATE),
    rty_TouchBoard_VOICE_Sts_after_, &localDW->sf_Value_Debounce_Chart, 3U);

  /* Chart: '<S85>/Value_Debounce_Chart' incorporates:
   *  RelationalOperator: '<S88>/FixPt Relational Operator'
   *  UnitDelay: '<S88>/Delay Input1'
   *
   * Block description for '<S88>/Delay Input1':
   *
   *  Store in Global RAM
   */
  P417_SWTR__Value_Debounce_Chart(rtu_Voice_XY_trig_in, (uint8_T)
    (rtu_Voice_XY_trig_in != localDW->DelayInput1_DSTATE_a),
    rty_Voice_XY_trig_afhd, &localDW->sf_Value_Debounce_Chart_a, 3U);

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

  /* Update for UnitDelay: '<S88>/Delay Input1'
   *
   * Block description for '<S88>/Delay Input1':
   *
   *  Store in Global RAM
   */
  localDW->DelayInput1_DSTATE_a = rtu_Voice_XY_trig_in;
}

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