/* Model step function */
void powerwindow_PW_Control_PSG_BackR_main(void)
{
  /* local block i/o variables */
  powerwindow_boolean_T rtb_debounce_Up;
  powerwindow_boolean_T rtb_debounce_Down;
  powerwindow_boolean_T powerwindow_rtb_ControlEx_PSG_BackR_o1;
  powerwindow_boolean_T powerwindow_rtb_ControlEx_PSG_BackR_o2;

  /* ModelReference: '<S2>/debounce_Up' */
  powerwindow_debounce_main(&powerwindow_PW_Control_PSG_BackR_U.Up_PSG_BackR, &rtb_debounce_Up,
           &(powerwindow_PW_Control_PSG_BackR_DWork.Debounce_Down_DWORK1.rtb),
           &(powerwindow_PW_Control_PSG_BackR_DWork.Debounce_Up_DWORK1.rtdw),
           &(powerwindow_PW_Control_PSG_BackR_DWork.Debounce_Up_DWORK1.rtzce));

  /* ModelReference: '<S2>/debounce_Down' */
  powerwindow_debounce_main(&powerwindow_PW_Control_PSG_BackR_U.Down_PSG_BackR, &rtb_debounce_Down,
           &(powerwindow_PW_Control_PSG_BackR_DWork.Debounce_Down_DWORK1.rtb),
           &(powerwindow_PW_Control_PSG_BackR_DWork.Debounce_Down_DWORK1.rtdw),
           &(powerwindow_PW_Control_PSG_BackR_DWork.Debounce_Down_DWORK1.rtzce));

  /* ModelReference: '<S1>/ControlEx_PSG_BackR' */
  powerwindow_controlexclusion_main(&powerwindow_PW_Control_PSG_BackR_U.Up_DRV, &powerwindow_PW_Control_PSG_BackR_U.Down_DRV,
                   &rtb_debounce_Up, &rtb_debounce_Down,
                   &powerwindow_rtb_ControlEx_PSG_BackR_o1, &powerwindow_rtb_ControlEx_PSG_BackR_o2);

  /* ModelReference: '<S1>/PW_PSG_BackR' */
  powerwindow_powerwindow_control_main(&powerwindow_rtb_ControlEx_PSG_BackR_o1, &powerwindow_rtb_ControlEx_PSG_BackR_o2,
                      &powerwindow_PW_Control_PSG_BackR_U.endofdetectionrange,
                      &powerwindow_PW_Control_PSG_BackR_U.currentsense,
                      &powerwindow_PW_Control_PSG_BackR_Y.window_up, &powerwindow_PW_Control_PSG_BackR_Y.window_down,
                      &powerwindow_PW_Control_PSG_BackR_Y.overcurrent, &powerwindow_PW_Control_PSG_BackR_Y.pinch,
                      &powerwindow_PW_Control_PSG_BackR_Y.wake,
                      &(powerwindow_PW_Control_PSG_BackR_DWork.PW_PSG_BackR_DWORK1.rtb),
                      &(powerwindow_PW_Control_PSG_BackR_DWork.PW_PSG_BackR_DWORK1.rtdw),
                      &(powerwindow_PW_Control_PSG_BackR_DWork.PW_PSG_BackR_DWORK1.rtzce));
}
/* Model step function */
void powerwindow_PW_Control_DRV_main(void)
{
  /* local block i/o variables */
  powerwindow_boolean_T rtb_Debounce_Up_DRV;
  powerwindow_boolean_T rtb_Debounce_Down_DRV;

  /* ModelReference: '<S2>/Debounce_Up_DRV' */
  powerwindow_debounce_main(&powerwindow_PW_Control_DRV_U.In2, &rtb_Debounce_Up_DRV,
           &(powerwindow_PW_Control_DR_DWork.Debounce_Up_DRV_DWORK1.rtb),
           &(powerwindow_PW_Control_DR_DWork.Debounce_Up_DRV_DWORK1.rtdw),
           &(powerwindow_PW_Control_DR_DWork.Debounce_Up_DRV_DWORK1.rtzce));

  /* ModelReference: '<S2>/Debounce_Down_DRV' */
  powerwindow_debounce_main(&powerwindow_PW_Control_DRV_U.In4, &rtb_Debounce_Down_DRV,
           &(powerwindow_PW_Control_DR_DWork.Debounce_Down_DRV_DWORK1.rtb),
           &(powerwindow_PW_Control_DR_DWork.Debounce_Down_DRV_DWORK1.rtdw),
           &(powerwindow_PW_Control_DR_DWork.Debounce_Down_DRV_DWORK1.rtzce));

  /* ModelReference: '<S2>/Debounce_Up_PSG_BackL' */
  powerwindow_debounce_main(&powerwindow_PW_Control_DRV_U.In9,
           &powerwindow_PW_Control_DRV_Y.Out10,
           &(powerwindow_PW_Control_DR_DWork.Debounce_Up_PSG_BackL_DWORK1.rtb),
           &(powerwindow_PW_Control_DR_DWork.Debounce_Up_PSG_BackL_DWORK1.rtdw),
           &(powerwindow_PW_Control_DR_DWork.Debounce_Up_PSG_BackL_DWORK1.rtzce));

  /* ModelReference: '<S2>/Debounce_Down_PSG_BackL' */
  powerwindow_debounce_main(&powerwindow_PW_Control_DRV_U.In10,
           &powerwindow_PW_Control_DRV_Y.Out11,
           &(powerwindow_PW_Control_DR_DWork.Debounce_Down_PSG_BackL_DWORK1.rtb),
           &(powerwindow_PW_Control_DR_DWork.Debounce_Down_PSG_BackL_DWORK1.rtdw),
           &(powerwindow_PW_Control_DR_DWork.Debounce_Down_PSG_BackL_DWORK1.rtzce));

  /* ModelReference: '<S2>/Debounce_Up_PSG_Front' */
  powerwindow_debounce_main(&powerwindow_PW_Control_DRV_U.In5, &powerwindow_PW_Control_DRV_Y.Out6,
           &(powerwindow_PW_Control_DR_DWork.Debounce_Up_PSG_Front_DWORK1.rtb),
           &(powerwindow_PW_Control_DR_DWork.Debounce_Up_PSG_Front_DWORK1.rtdw),
           &(powerwindow_PW_Control_DR_DWork.Debounce_Up_PSG_Front_DWORK1.rtzce));

  /* ModelReference: '<S2>/Debounce_Down_PSG_Front' */
  powerwindow_debounce_main(&powerwindow_PW_Control_DRV_U.In6, &powerwindow_PW_Control_DRV_Y.Out7,
           &(powerwindow_PW_Control_DR_DWork.Debounce_Down_PSG_Front_DWORK1.rtb),
           &(powerwindow_PW_Control_DR_DWork.Debounce_Down_PSG_Front_DWORK1.rtdw),
           &(powerwindow_PW_Control_DR_DWork.Debounce_Down_PSG_Front_DWORK1.rtzce));

  /* ModelReference: '<S2>/Debounce_Up_PSG_BackR' */
  powerwindow_debounce_main(&powerwindow_PW_Control_DRV_U.In7, &powerwindow_PW_Control_DRV_Y.Out8,
           &(powerwindow_PW_Control_DR_DWork.Debounce_Up_PSG_BackR_DWORK1.rtb),
           &(powerwindow_PW_Control_DR_DWork.Debounce_Up_PSG_BackR_DWORK1.rtdw),
           &(powerwindow_PW_Control_DR_DWork.Debounce_Up_PSG_BackR_DWORK1.rtzce));

  /* ModelReference: '<S2>/Debounce_Down_PSG_BackR' */
  powerwindow_debounce_main(&powerwindow_PW_Control_DRV_U.In8, &powerwindow_PW_Control_DRV_Y.Out9,
           &(powerwindow_PW_Control_DR_DWork.Debounce_Down_PSG_BackR_DWORK1.rtb),
           &(powerwindow_PW_Control_DR_DWork.Debounce_Down_PSG_BackR_DWORK1.rtdw),
           &(powerwindow_PW_Control_DR_DWork.Debounce_Down_PSG_BackR_DWORK1.rtzce));

  /* ModelReference: '<S1>/PW_DRV' */
  powerwindow_powerwindow_control_main(&rtb_Debounce_Up_DRV, &rtb_Debounce_Down_DRV,
                      &powerwindow_PW_Control_DRV_U.In1,
                      &powerwindow_PW_Control_DRV_U.In3,
                      &powerwindow_PW_Control_DRV_Y.Out1,
                      &powerwindow_PW_Control_DRV_Y.Out2,
                      &powerwindow_PW_Control_DRV_Y.Out3,
                      &powerwindow_PW_Control_DRV_Y.Out4,
                      &powerwindow_PW_Control_DRV_Y.Out5,
                      &(powerwindow_PW_Control_DR_DWork.PW_DRV_DWORK1.rtb),
					  &(powerwindow_PW_Control_DR_DWork.PW_DRV_DWORK1.rtdw),
					  &(powerwindow_PW_Control_DR_DWork.PW_DRV_DWORK1.rtzce));
}