Gpt_Ipw_DisableInterrupt (const struct Gpt_Ipw_HwChannelConfigType * pHwChannelConfig)
{
  <bb 2> :
  # DEBUG BEGIN_STMT
  _1 = pHwChannelConfig->instanceType;
  _2 = (int) _1;
  if (_2 == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
<L0>:
  # DEBUG BEGIN_STMT
  _3 = pHwChannelConfig->instance;
  _4 = pHwChannelConfig->channel;
  Pit_Ip_DisableChannelInterrupt (_3, _4);
  # DEBUG BEGIN_STMT

  <bb 4> :
  # DEBUG BEGIN_STMT
  return;

}


Gpt_Ipw_DeInit (const struct Gpt_Ipw_HwChannelConfigType * pHwChannelConfig)
{
  <bb 2> :
  # DEBUG BEGIN_STMT
  _1 = pHwChannelConfig->instanceType;
  _2 = (int) _1;
  if (_2 == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
<L0>:
  # DEBUG BEGIN_STMT
  _3 = pHwChannelConfig->instance;
  Pit_Ip_Deinit (_3);
  # DEBUG BEGIN_STMT

  <bb 4> :
  # DEBUG BEGIN_STMT
  return;

}


Gpt_Ipw_EnableInterrupt (const struct Gpt_Ipw_HwChannelConfigType * pHwChannelConfig)
{
  <bb 2> :
  # DEBUG BEGIN_STMT
  _1 = pHwChannelConfig->instanceType;
  _2 = (int) _1;
  if (_2 == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
<L0>:
  # DEBUG BEGIN_STMT
  _3 = pHwChannelConfig->instance;
  _4 = pHwChannelConfig->channel;
  Pit_Ip_EnableChannelInterrupt (_3, _4);
  # DEBUG BEGIN_STMT

  <bb 4> :
  # DEBUG BEGIN_STMT
  return;

}


Gpt_Ipw_StopTimer (const struct Gpt_Ipw_HwChannelConfigType * pHwChannelConfig)
{
  <bb 2> :
  # DEBUG BEGIN_STMT
  _1 = pHwChannelConfig->instanceType;
  _2 = (int) _1;
  if (_2 == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
<L0>:
  # DEBUG BEGIN_STMT
  _3 = pHwChannelConfig->instance;
  _4 = pHwChannelConfig->channel;
  Pit_Ip_StopChannel (_3, _4);
  # DEBUG BEGIN_STMT

  <bb 4> :
  # DEBUG BEGIN_STMT
  return;

}


Gpt_Ipw_GetTimeElapsed (const struct Gpt_Ipw_HwChannelConfigType * pHwChannelConfig, struct Gpt_HwChannelInfoType * pReturnHwChannelInfo)
{
  uint32 returnValue;
  Gpt_ValueType D.6274;

  <bb 2> :
  # DEBUG BEGIN_STMT
  returnValue = 0;
  # DEBUG BEGIN_STMT
  _1 = pHwChannelConfig->instanceType;
  _2 = (int) _1;
  if (_2 == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
<L0>:
  # DEBUG BEGIN_STMT
  returnValue = Gpt_Ipw_PitGetTimeElapsed (pHwChannelConfig, pReturnHwChannelInfo);
  # DEBUG BEGIN_STMT

  <bb 4> :
  # DEBUG BEGIN_STMT
  D.6274 = returnValue;
  return D.6274;

}


Gpt_Ipw_StartTimer (const struct Gpt_Ipw_HwChannelConfigType * pHwChannelConfig, Gpt_ValueType uValue)
{
  Std_ReturnType returnValue;
  Std_ReturnType D.6272;

  <bb 2> :
  # DEBUG BEGIN_STMT
  returnValue = 1;
  # DEBUG BEGIN_STMT
  _1 = pHwChannelConfig->instanceType;
  _2 = (int) _1;
  if (_2 == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
<L0>:
  # DEBUG BEGIN_STMT
  _3 = pHwChannelConfig->instance;
  _4 = pHwChannelConfig->channel;
  returnValue = Pit_Ip_StartChannel (_3, _4, uValue);
  # DEBUG BEGIN_STMT

  <bb 4> :
  # DEBUG BEGIN_STMT
  D.6272 = returnValue;
  return D.6272;

}


Gpt_Ipw_Init (const struct Gpt_Ipw_HwChannelConfigType * pHwChannelConfig)
{
  <bb 2> :
  # DEBUG BEGIN_STMT
  _1 = pHwChannelConfig->instanceType;
  _2 = (int) _1;
  if (_2 == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
<L0>:
  # DEBUG BEGIN_STMT
  _3 = pHwChannelConfig->instance;
  _4 = pHwChannelConfig->Gpt_Ipw_ChannelConfig.Pit_Ip_ChannelConfig;
  Pit_Ip_InitChannel (_3, _4);
  # DEBUG BEGIN_STMT

  <bb 4> :
  # DEBUG BEGIN_STMT
  return;

}


Gpt_Ipw_InitInstances (const struct Gpt_ConfigType * configPtr)
{
  uint8 index;

  <bb 2> :
  # DEBUG BEGIN_STMT
  index = 0;
  # DEBUG BEGIN_STMT
  index = 0;
  goto <bb 6>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  _1 = configPtr->Gpt_Ipw_HwInstanceConfig;
  _2 = (int) index;
  _3 = *_1[_2].instanceType;
  _4 = (int) _3;
  if (_4 == 0)
    goto <bb 4>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 4> :
<L1>:
  # DEBUG BEGIN_STMT
  _5 = configPtr->Gpt_Ipw_HwInstanceConfig;
  _6 = (int) index;
  _7 = *_5[_6].instance;
  _8 = configPtr->Gpt_Ipw_HwInstanceConfig;
  _9 = (int) index;
  _10 = *_8[_9].Gpt_Ipw_InstanceConfig.Pit_Ip_InstanceConfig;
  Pit_Ip_Init (_7, _10);
  # DEBUG BEGIN_STMT

  <bb 5> :
  # DEBUG BEGIN_STMT
  index.0_11 = index;
  index = index.0_11 + 1;

  <bb 6> :
  # DEBUG BEGIN_STMT
  _12 = configPtr->instanceCount;
  if (index < _12)
    goto <bb 3>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 7> :
  # DEBUG BEGIN_STMT
  return;

}


Gpt_Ipw_PitGetTimeElapsed (const struct Gpt_Ipw_HwChannelConfigType * pHwChannelConfig, struct Gpt_HwChannelInfoType * pReturnHwChannelInfo)
{
  uint32 returnValue;
  Gpt_ValueType D.6279;

  <bb 2> :
  # DEBUG BEGIN_STMT
  returnValue = 0;
  # DEBUG BEGIN_STMT
  _1 = pHwChannelConfig->instance;
  _2 = pHwChannelConfig->channel;
  _3 = Pit_Ip_GetLoadValue (_1, _2);
  _4 = _3 + 1;
  pReturnHwChannelInfo->uTargetTime = _4;
  # DEBUG BEGIN_STMT
  _5 = pReturnHwChannelInfo->uTargetTime;
  _6 = pHwChannelConfig->instance;
  _7 = pHwChannelConfig->channel;
  _8 = Pit_Ip_GetCurrentTimer (_6, _7);
  _9 = (long unsigned int) _8;
  returnValue = _5 - _9;
  # DEBUG BEGIN_STMT
  _10 = pHwChannelConfig->instance;
  _11 = pHwChannelConfig->channel;
  _12 = Pit_Ip_GetInterruptFlags (_10, _11);
  if (_12 != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  pReturnHwChannelInfo->bChannelRollover = 1;
  goto <bb 5>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  pReturnHwChannelInfo->bChannelRollover = 0;

  <bb 5> :
  # DEBUG BEGIN_STMT
  D.6279 = returnValue;
  return D.6279;

}


