
Marking local functions: Lpuart_Lin_Ip_ProcessSendFrameData Lpuart_Lin_Ip_ProcessReceiveFrameData Lpuart_Lin_Ip_ProcessFrameHeader Lpuart_Lin_Ip_FrameIrqHandler Lpuart_Lin_Ip_CheckWakeupSignal Lpuart_Lin_Ip_ProcessBreakDetect Lpuart_Lin_Ip_ProcessWakeupDetect Lpuart_Lin_Ip_AutoBaudCapture Lpuart_Lin_Ip_MakeChecksumByte Lpuart_Lin_Ip_FrameErrorIrqHandler Lpuart_Lin_Ip_StatusBeforeTransfer Lpuart_Lin_Ip_GetBytetoBuffer Lpuart_Lin_Ip_CheckReadbackByte Lpuart_Lin_Ip_HwQueueBreakField Lpuart_Lin_Ip_HwSetBreakCharDetectLength Lpuart_Lin_Ip_HwSetBreakCharTransmitLength Lpuart_Lin_Ip_HwSetRxDataPolarity Lpuart_Lin_Ip_HwGetRxDataPolarity Lpuart_Lin_Ip_HwGetchar Lpuart_Lin_Ip_HwPutchar Lpuart_Lin_Ip_HwSetStopBitCount Lpuart_Lin_Ip_HwEnableBothEdgeSamplingCmd Lpuart_Lin_Ip_HwSetOversamplingRatio Lpuart_Lin_Ip_HwSetBaudRateDivisor Lpuart_Lin_Ip_HwSetReceiverCmd Lpuart_Lin_Ip_HwSetTransmitterCmd


Marking externally visible functions: Lpuart_Lin_Ip_IRQHandler Lpuart_Lin_Ip_GotoIdleState Lpuart_Lin_Ip_MasterSendHeader Lpuart_Lin_Ip_SetTimeoutCounter Lpuart_Lin_Ip_TimeoutService Lpuart_Lin_Ip_GetCurrentNodeState Lpuart_Lin_Ip_SendWakeupSignal Lpuart_Lin_Ip_GoToSleepMode Lpuart_Lin_Ip_GetReceiveStatus Lpuart_Lin_Ip_AbortTransferData Lpuart_Lin_Ip_SyncReceiveFrameData Lpuart_Lin_Ip_AsyncReceiveFrameData Lpuart_Lin_Ip_GetTransmitStatus Lpuart_Lin_Ip_SyncSendFrameData Lpuart_Lin_Ip_AsyncSendFrameData Lpuart_Lin_Ip_Deinit Lpuart_Lin_Ip_Init


Marking externally visible variables: Lpuart_Lin_Ip_axStateStructure


Reclaiming functions:
Reclaiming variables:
Clearing address taken flags:
Symbol table:

OsIf_GetCounter/73 (OsIf_GetCounter) @06d85e00
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Lpuart_Lin_Ip_AutoBaudCapture/25 
  Calls: 
OsIf_MicrosToTicks/72 (OsIf_MicrosToTicks) @06d85d20
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Lpuart_Lin_Ip_AutoBaudCapture/25 
  Calls: 
currentTick.4732/71 (currentTick) @06d93990
  Type: variable definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: Lpuart_Lin_Ip_AutoBaudCapture/25 (addr)Lpuart_Lin_Ip_AutoBaudCapture/25 (write)
  Availability: available
  Varpool flags:
OsIf_GetElapsed/70 (OsIf_GetElapsed) @06d85b60
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Lpuart_Lin_Ip_AutoBaudCapture/25 
  Calls: 
fallingEgdeCount.4733/69 (fallingEgdeCount) @06d93900
  Type: variable definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: Lpuart_Lin_Ip_AutoBaudCapture/25 (read)Lpuart_Lin_Ip_AutoBaudCapture/25 (write)
  Availability: available
  Varpool flags:
Lpuart_Lin_Ip_HwGetIntMode/68 (Lpuart_Lin_Ip_HwGetIntMode) @06d85460
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Lpuart_Lin_Ip_FrameIrqHandler/46 Lpuart_Lin_Ip_IRQHandler/43 Lpuart_Lin_Ip_IRQHandler/43 Lpuart_Lin_Ip_IRQHandler/43 Lpuart_Lin_Ip_IRQHandler/43 Lpuart_Lin_Ip_IRQHandler/43 
  Calls: 
SchM_Exit_Lin_LIN_EXCLUSIVE_AREA_02/67 (SchM_Exit_Lin_LIN_EXCLUSIVE_AREA_02) @06d850e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Lpuart_Lin_Ip_GotoIdleState/42 
  Calls: 
SchM_Enter_Lin_LIN_EXCLUSIVE_AREA_02/66 (SchM_Enter_Lin_LIN_EXCLUSIVE_AREA_02) @06d85000
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Lpuart_Lin_Ip_GotoIdleState/42 
  Calls: 
Lin_Ip_ProcessParity/65 (Lin_Ip_ProcessParity) @06d6dd20
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Lpuart_Lin_Ip_ProcessFrameHeader/47 Lpuart_Lin_Ip_MasterSendHeader/41 
  Calls: 
SchM_Exit_Lin_LIN_EXCLUSIVE_AREA_01/64 (SchM_Exit_Lin_LIN_EXCLUSIVE_AREA_01) @06d6d2a0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Lpuart_Lin_Ip_AsyncReceiveFrameData/32 
  Calls: 
SchM_Enter_Lin_LIN_EXCLUSIVE_AREA_01/63 (SchM_Enter_Lin_LIN_EXCLUSIVE_AREA_01) @06d6d1c0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Lpuart_Lin_Ip_AsyncReceiveFrameData/32 
  Calls: 
Lin_Ip_MakeChecksumByte/62 (Lin_Ip_MakeChecksumByte) @06d5bb60
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Lpuart_Lin_Ip_MakeChecksumByte/24 
  Calls: 
SchM_Exit_Lin_LIN_EXCLUSIVE_AREA_00/61 (SchM_Exit_Lin_LIN_EXCLUSIVE_AREA_00) @06d5b8c0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Lpuart_Lin_Ip_AsyncSendFrameData/29 
  Calls: 
SchM_Enter_Lin_LIN_EXCLUSIVE_AREA_00/60 (SchM_Enter_Lin_LIN_EXCLUSIVE_AREA_00) @06d5b7e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Lpuart_Lin_Ip_AsyncSendFrameData/29 
  Calls: 
Lpuart_Lin_Ip_HwGetStatusFlag/59 (Lpuart_Lin_Ip_HwGetStatusFlag) @06d5b620
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Lpuart_Lin_Ip_ProcessSendFrameData/49 Lpuart_Lin_Ip_FrameIrqHandler/46 Lpuart_Lin_Ip_IRQHandler/43 Lpuart_Lin_Ip_IRQHandler/43 Lpuart_Lin_Ip_IRQHandler/43 Lpuart_Lin_Ip_IRQHandler/43 Lpuart_Lin_Ip_IRQHandler/43 Lpuart_Lin_Ip_AbortTransferData/34 Lpuart_Lin_Ip_SyncReceiveFrameData/33 Lpuart_Lin_Ip_SyncSendFrameData/30 Lpuart_Lin_Ip_Deinit/28 
  Calls: 
Lpuart_Lin_Ip_TimeoutExpired/58 (Lpuart_Lin_Ip_TimeoutExpired) @06d5b380
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Lpuart_Lin_Ip_AbortTransferData/34 Lpuart_Lin_Ip_SyncReceiveFrameData/33 Lpuart_Lin_Ip_SyncSendFrameData/30 Lpuart_Lin_Ip_Deinit/28 Lpuart_Lin_Ip_HwSetReceiverCmd/1 Lpuart_Lin_Ip_HwSetTransmitterCmd/0 
  Calls: 
Lpuart_Lin_Ip_StartTimeout/57 (Lpuart_Lin_Ip_StartTimeout) @06d5b2a0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Lpuart_Lin_Ip_AbortTransferData/34 Lpuart_Lin_Ip_SyncReceiveFrameData/33 Lpuart_Lin_Ip_SyncSendFrameData/30 Lpuart_Lin_Ip_Deinit/28 Lpuart_Lin_Ip_HwSetReceiverCmd/1 Lpuart_Lin_Ip_HwSetTransmitterCmd/0 
  Calls: 
SchM_Exit_Lin_LIN_EXCLUSIVE_AREA_04/56 (SchM_Exit_Lin_LIN_EXCLUSIVE_AREA_04) @06d5b0e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Lpuart_Lin_Ip_HwSetBreakCharDetectLength/13 
  Calls: 
SchM_Enter_Lin_LIN_EXCLUSIVE_AREA_04/55 (SchM_Enter_Lin_LIN_EXCLUSIVE_AREA_04) @06d5b000
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Lpuart_Lin_Ip_HwSetBreakCharDetectLength/13 
  Calls: 
Lpuart_Lin_Ip_HwClearStatusFlag/54 (Lpuart_Lin_Ip_HwClearStatusFlag) @06cf4a80
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Lpuart_Lin_Ip_FrameErrorIrqHandler/23 Lpuart_Lin_Ip_ProcessWakeupDetect/26 Lpuart_Lin_Ip_ProcessBreakDetect/44 Lpuart_Lin_Ip_IRQHandler/43 Lpuart_Lin_Ip_IRQHandler/43 Lpuart_Lin_Ip_IRQHandler/43 Lpuart_Lin_Ip_GoToSleepMode/36 Lpuart_Lin_Ip_Init/27 
  Calls: 
Lpuart_Lin_Ip_HwSetIntMode/53 (Lpuart_Lin_Ip_HwSetIntMode) @06cf49a0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Lpuart_Lin_Ip_ProcessSendFrameData/49 Lpuart_Lin_Ip_AutoBaudCapture/25 Lpuart_Lin_Ip_ProcessBreakDetect/44 Lpuart_Lin_Ip_ProcessBreakDetect/44 Lpuart_Lin_Ip_ProcessBreakDetect/44 Lpuart_Lin_Ip_GotoIdleState/42 Lpuart_Lin_Ip_GotoIdleState/42 Lpuart_Lin_Ip_GotoIdleState/42 Lpuart_Lin_Ip_GotoIdleState/42 Lpuart_Lin_Ip_MasterSendHeader/41 Lpuart_Lin_Ip_GoToSleepMode/36 Lpuart_Lin_Ip_GoToSleepMode/36 Lpuart_Lin_Ip_GoToSleepMode/36 Lpuart_Lin_Ip_GoToSleepMode/36 Lpuart_Lin_Ip_AbortTransferData/34 Lpuart_Lin_Ip_AbortTransferData/34 Lpuart_Lin_Ip_AbortTransferData/34 Lpuart_Lin_Ip_SyncReceiveFrameData/33 Lpuart_Lin_Ip_SyncReceiveFrameData/33 Lpuart_Lin_Ip_SyncSendFrameData/30 Lpuart_Lin_Ip_SyncSendFrameData/30 Lpuart_Lin_Ip_Init/27 Lpuart_Lin_Ip_Init/27 Lpuart_Lin_Ip_Init/27 
  Calls: 
Lpuart_Lin_Ip_HwSetParityMode/52 (Lpuart_Lin_Ip_HwSetParityMode) @06cf48c0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Lpuart_Lin_Ip_Init/27 
  Calls: 
Lpuart_Lin_Ip_HwSetBitCountPerChar/51 (Lpuart_Lin_Ip_HwSetBitCountPerChar) @06cf47e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Lpuart_Lin_Ip_Init/27 
  Calls: 
Lpuart_Lin_Ip_HwInit/50 (Lpuart_Lin_Ip_HwInit) @06cf4700
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Lpuart_Lin_Ip_Init/27 
  Calls: 
Lpuart_Lin_Ip_ProcessSendFrameData/49 (Lpuart_Lin_Ip_ProcessSendFrameData) @06cf42a0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: Lpuart_Lin_Ip_apxBases/16 (read)Lpuart_Lin_Ip_apxUserConfigs/18 (read)Lpuart_Lin_Ip_apxStateStructureArray/19 (read)
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: Lpuart_Lin_Ip_FrameIrqHandler/46 
  Calls: Lpuart_Lin_Ip_GotoIdleState/42 Lpuart_Lin_Ip_HwSetIntMode/53 Lpuart_Lin_Ip_HwPutchar/8 Lpuart_Lin_Ip_HwPutchar/8 Lpuart_Lin_Ip_GotoIdleState/42 Lpuart_Lin_Ip_GotoIdleState/42 Lpuart_Lin_Ip_HwGetStatusFlag/59 
   Indirect call
   Indirect call
   Indirect call
Lpuart_Lin_Ip_ProcessReceiveFrameData/48 (Lpuart_Lin_Ip_ProcessReceiveFrameData) @06cf4000
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: Lpuart_Lin_Ip_apxStateStructureArray/19 (read)Lpuart_Lin_Ip_apxUserConfigs/18 (read)
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: Lpuart_Lin_Ip_FrameIrqHandler/46 
  Calls: Lpuart_Lin_Ip_GotoIdleState/42 Lpuart_Lin_Ip_GetBytetoBuffer/21 
   Indirect call
   Indirect call
Lpuart_Lin_Ip_ProcessFrameHeader/47 (Lpuart_Lin_Ip_ProcessFrameHeader) @06ce3b60
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: Lpuart_Lin_Ip_apxBases/16 (read)Lpuart_Lin_Ip_apxUserConfigs/18 (read)Lpuart_Lin_Ip_apxStateStructureArray/19 (read)
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: Lpuart_Lin_Ip_FrameIrqHandler/46 
  Calls: Lpuart_Lin_Ip_GotoIdleState/42 Lin_Ip_ProcessParity/65 Lpuart_Lin_Ip_HwPutchar/8 Lpuart_Lin_Ip_GotoIdleState/42 
   Indirect call
   Indirect call
   Indirect call
   Indirect call
   Indirect call
   Indirect call
Lpuart_Lin_Ip_FrameIrqHandler/46 (Lpuart_Lin_Ip_FrameIrqHandler) @06ce3620
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: Lpuart_Lin_Ip_apxBases/16 (read)Lpuart_Lin_Ip_apxStateStructureArray/19 (read)
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: Lpuart_Lin_Ip_IRQHandler/43 
  Calls: Lpuart_Lin_Ip_HwGetchar/9 Lpuart_Lin_Ip_ProcessSendFrameData/49 Lpuart_Lin_Ip_HwGetchar/9 Lpuart_Lin_Ip_ProcessReceiveFrameData/48 Lpuart_Lin_Ip_ProcessFrameHeader/47 Lpuart_Lin_Ip_HwGetchar/9 Lpuart_Lin_Ip_HwGetIntMode/68 Lpuart_Lin_Ip_HwGetStatusFlag/59 
Lpuart_Lin_Ip_CheckWakeupSignal/45 (Lpuart_Lin_Ip_CheckWakeupSignal) @06ce30e0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: Lpuart_Lin_Ip_apxUserConfigs/18 (read)Lpuart_Lin_Ip_apxBases/16 (read)Lpuart_Lin_Ip_apxStateStructureArray/19 (read)
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: Lpuart_Lin_Ip_ProcessWakeupDetect/26 
  Calls: Lpuart_Lin_Ip_GotoIdleState/42 Lpuart_Lin_Ip_HwSetRxDataPolarity/11 Lpuart_Lin_Ip_HwSetRxDataPolarity/11 Lpuart_Lin_Ip_HwGetRxDataPolarity/10 
   Indirect call
   Indirect call
   Indirect call
Lpuart_Lin_Ip_ProcessBreakDetect/44 (Lpuart_Lin_Ip_ProcessBreakDetect) @06ce3d20
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: Lpuart_Lin_Ip_apxUserConfigs/18 (read)Lpuart_Lin_Ip_apxBases/16 (read)Lpuart_Lin_Ip_apxStateStructureArray/19 (read)
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: Lpuart_Lin_Ip_IRQHandler/43 
  Calls: Lpuart_Lin_Ip_SetTimeoutCounter/40 Lpuart_Lin_Ip_HwSetReceiverCmd/1 Lpuart_Lin_Ip_HwSetTransmitterCmd/0 Lpuart_Lin_Ip_HwSetIntMode/53 Lpuart_Lin_Ip_HwPutchar/8 Lpuart_Lin_Ip_SetTimeoutCounter/40 Lpuart_Lin_Ip_HwSetIntMode/53 Lpuart_Lin_Ip_HwGetchar/9 Lpuart_Lin_Ip_HwSetIntMode/53 Lpuart_Lin_Ip_HwSetBreakCharDetectLength/13 Lpuart_Lin_Ip_HwClearStatusFlag/54 
Lpuart_Lin_Ip_IRQHandler/43 (Lpuart_Lin_Ip_IRQHandler) @06ce3a80
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Lpuart_Lin_Ip_apxUserConfigs/18 (read)Lpuart_Lin_Ip_apxBases/16 (read)Lpuart_Lin_Ip_apxStateStructureArray/19 (read)
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: Lpuart_Lin_Ip_HwClearStatusFlag/54 Lpuart_Lin_Ip_HwClearStatusFlag/54 Lpuart_Lin_Ip_HwGetIntMode/68 Lpuart_Lin_Ip_HwGetStatusFlag/59 Lpuart_Lin_Ip_FrameIrqHandler/46 Lpuart_Lin_Ip_HwGetIntMode/68 Lpuart_Lin_Ip_HwGetStatusFlag/59 Lpuart_Lin_Ip_GotoIdleState/42 Lpuart_Lin_Ip_FrameErrorIrqHandler/23 Lpuart_Lin_Ip_HwGetIntMode/68 Lpuart_Lin_Ip_HwGetStatusFlag/59 Lpuart_Lin_Ip_ProcessWakeupDetect/26 Lpuart_Lin_Ip_HwGetStatusFlag/59 Lpuart_Lin_Ip_ProcessBreakDetect/44 Lpuart_Lin_Ip_HwGetIntMode/68 Lpuart_Lin_Ip_HwGetStatusFlag/59 Lpuart_Lin_Ip_HwClearStatusFlag/54 Lpuart_Lin_Ip_HwGetIntMode/68 
   Indirect call
Lpuart_Lin_Ip_GotoIdleState/42 (Lpuart_Lin_Ip_GotoIdleState) @06ce37e0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Lpuart_Lin_Ip_apxStateStructureArray/19 (read)Lpuart_Lin_Ip_apxBases/16 (read)Lpuart_Lin_Ip_apxUserConfigs/18 (read)
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: Lpuart_Lin_Ip_ProcessSendFrameData/49 Lpuart_Lin_Ip_ProcessSendFrameData/49 Lpuart_Lin_Ip_ProcessSendFrameData/49 Lpuart_Lin_Ip_ProcessReceiveFrameData/48 Lpuart_Lin_Ip_ProcessFrameHeader/47 Lpuart_Lin_Ip_ProcessFrameHeader/47 Lpuart_Lin_Ip_CheckWakeupSignal/45 Lpuart_Lin_Ip_IRQHandler/43 Lpuart_Lin_Ip_AbortTransferData/34 Lpuart_Lin_Ip_SyncReceiveFrameData/33 Lpuart_Lin_Ip_SyncSendFrameData/30 
  Calls: SchM_Exit_Lin_LIN_EXCLUSIVE_AREA_02/67 SchM_Enter_Lin_LIN_EXCLUSIVE_AREA_02/66 Lpuart_Lin_Ip_HwSetIntMode/53 Lpuart_Lin_Ip_HwSetBreakCharDetectLength/13 Lpuart_Lin_Ip_HwSetIntMode/53 Lpuart_Lin_Ip_HwSetIntMode/53 Lpuart_Lin_Ip_HwSetIntMode/53 Lpuart_Lin_Ip_HwSetRxDataPolarity/11 
Lpuart_Lin_Ip_MasterSendHeader/41 (Lpuart_Lin_Ip_MasterSendHeader) @06ce3540
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Lpuart_Lin_Ip_apxUserConfigs/18 (read)Lpuart_Lin_Ip_apxBases/16 (read)Lpuart_Lin_Ip_apxStateStructureArray/19 (read)
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: Lpuart_Lin_Ip_HwQueueBreakField/14 Lpuart_Lin_Ip_HwSetIntMode/53 Lpuart_Lin_Ip_HwSetBreakCharDetectLength/13 Lin_Ip_ProcessParity/65 
Lpuart_Lin_Ip_SetTimeoutCounter/40 (Lpuart_Lin_Ip_SetTimeoutCounter) @06ce32a0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Lpuart_Lin_Ip_apxStateStructureArray/19 (read)
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: Lpuart_Lin_Ip_ProcessBreakDetect/44 Lpuart_Lin_Ip_ProcessBreakDetect/44 Lpuart_Lin_Ip_SyncReceiveFrameData/33 Lpuart_Lin_Ip_AsyncReceiveFrameData/32 Lpuart_Lin_Ip_SyncSendFrameData/30 Lpuart_Lin_Ip_AsyncSendFrameData/29 
  Calls: 
Lpuart_Lin_Ip_TimeoutService/39 (Lpuart_Lin_Ip_TimeoutService) @06ce3000
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Lpuart_Lin_Ip_apxStateStructureArray/19 (read)Lpuart_Lin_Ip_apxUserConfigs/18 (read)
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: 
   Indirect call
Lpuart_Lin_Ip_GetCurrentNodeState/38 (Lpuart_Lin_Ip_GetCurrentNodeState) @06cb5b60
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Lpuart_Lin_Ip_apxStateStructureArray/19 (read)
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: 
Lpuart_Lin_Ip_SendWakeupSignal/37 (Lpuart_Lin_Ip_SendWakeupSignal) @06cb5620
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Lpuart_Lin_Ip_apxStateStructureArray/19 (read)Lpuart_Lin_Ip_apxBases/16 (read)Lpuart_Lin_Ip_au8WakeupSignal/15 (read)
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: Lpuart_Lin_Ip_HwPutchar/8 
Lpuart_Lin_Ip_GoToSleepMode/36 (Lpuart_Lin_Ip_GoToSleepMode) @06cb50e0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Lpuart_Lin_Ip_apxStateStructureArray/19 (read)Lpuart_Lin_Ip_apxBases/16 (read)
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: Lpuart_Lin_Ip_HwSetIntMode/53 Lpuart_Lin_Ip_HwSetIntMode/53 Lpuart_Lin_Ip_HwSetIntMode/53 Lpuart_Lin_Ip_HwSetIntMode/53 Lpuart_Lin_Ip_HwSetRxDataPolarity/11 Lpuart_Lin_Ip_HwClearStatusFlag/54 
Lpuart_Lin_Ip_GetReceiveStatus/35 (Lpuart_Lin_Ip_GetReceiveStatus) @06cb5d20
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Lpuart_Lin_Ip_apxStateStructureArray/19 (read)
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: 
Lpuart_Lin_Ip_AbortTransferData/34 (Lpuart_Lin_Ip_AbortTransferData) @06cb5a80
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Lpuart_Lin_Ip_apxStateStructureArray/19 (read)Lpuart_Lin_Ip_apxBases/16 (read)
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: Lpuart_Lin_Ip_GotoIdleState/42 Lpuart_Lin_Ip_TimeoutExpired/58 Lpuart_Lin_Ip_HwGetStatusFlag/59 Lpuart_Lin_Ip_StartTimeout/57 Lpuart_Lin_Ip_HwSetIntMode/53 Lpuart_Lin_Ip_HwSetIntMode/53 Lpuart_Lin_Ip_HwSetIntMode/53 
Lpuart_Lin_Ip_SyncReceiveFrameData/33 (Lpuart_Lin_Ip_SyncReceiveFrameData) @06cb57e0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Lpuart_Lin_Ip_apxStateStructureArray/19 (read)Lpuart_Lin_Ip_apxBases/16 (read)Lpuart_Lin_Ip_apxUserConfigs/18 (read)
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: Lpuart_Lin_Ip_GotoIdleState/42 Lpuart_Lin_Ip_GetBytetoBuffer/21 Lpuart_Lin_Ip_TimeoutExpired/58 Lpuart_Lin_Ip_HwGetStatusFlag/59 Lpuart_Lin_Ip_StartTimeout/57 Lpuart_Lin_Ip_SetTimeoutCounter/40 Lpuart_Lin_Ip_HwSetIntMode/53 Lpuart_Lin_Ip_HwSetIntMode/53 Lpuart_Lin_Ip_StatusBeforeTransfer/22 
Lpuart_Lin_Ip_AsyncReceiveFrameData/32 (Lpuart_Lin_Ip_AsyncReceiveFrameData) @06cb5540
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Lpuart_Lin_Ip_apxStateStructureArray/19 (read)Lpuart_Lin_Ip_apxBases/16 (read)Lpuart_Lin_Ip_apxUserConfigs/18 (read)
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: Lpuart_Lin_Ip_HwSetBreakCharDetectLength/13 Lpuart_Lin_Ip_SetTimeoutCounter/40 SchM_Exit_Lin_LIN_EXCLUSIVE_AREA_01/64 SchM_Enter_Lin_LIN_EXCLUSIVE_AREA_01/63 Lpuart_Lin_Ip_StatusBeforeTransfer/22 
Lpuart_Lin_Ip_GetTransmitStatus/31 (Lpuart_Lin_Ip_GetTransmitStatus) @06cb52a0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Lpuart_Lin_Ip_apxStateStructureArray/19 (read)
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: 
Lpuart_Lin_Ip_SyncSendFrameData/30 (Lpuart_Lin_Ip_SyncSendFrameData) @06cb5000
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Lpuart_Lin_Ip_apxStateStructureArray/19 (read)Lpuart_Lin_Ip_apxBases/16 (read)Lpuart_Lin_Ip_apxUserConfigs/18 (read)
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: Lpuart_Lin_Ip_GotoIdleState/42 Lpuart_Lin_Ip_TimeoutExpired/58 Lpuart_Lin_Ip_CheckReadbackByte/20 Lpuart_Lin_Ip_HwGetchar/9 Lpuart_Lin_Ip_HwGetStatusFlag/59 Lpuart_Lin_Ip_StartTimeout/57 Lpuart_Lin_Ip_HwPutchar/8 Lpuart_Lin_Ip_SetTimeoutCounter/40 Lpuart_Lin_Ip_MakeChecksumByte/24 Lpuart_Lin_Ip_HwSetIntMode/53 Lpuart_Lin_Ip_HwSetIntMode/53 Lpuart_Lin_Ip_StatusBeforeTransfer/22 
Lpuart_Lin_Ip_AsyncSendFrameData/29 (Lpuart_Lin_Ip_AsyncSendFrameData) @06bb3b60
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Lpuart_Lin_Ip_apxStateStructureArray/19 (read)Lpuart_Lin_Ip_apxBases/16 (read)Lpuart_Lin_Ip_apxUserConfigs/18 (read)
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: Lpuart_Lin_Ip_HwPutchar/8 Lpuart_Lin_Ip_SetTimeoutCounter/40 Lpuart_Lin_Ip_HwSetBreakCharDetectLength/13 SchM_Exit_Lin_LIN_EXCLUSIVE_AREA_00/61 SchM_Enter_Lin_LIN_EXCLUSIVE_AREA_00/60 Lpuart_Lin_Ip_MakeChecksumByte/24 Lpuart_Lin_Ip_StatusBeforeTransfer/22 
Lpuart_Lin_Ip_Deinit/28 (Lpuart_Lin_Ip_Deinit) @06bb3620
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Lpuart_Lin_Ip_apxBases/16 (read)Lpuart_Lin_Ip_apxStateStructureArray/19 (read)Lpuart_Lin_Ip_apxStateStructureArray/19 (write)
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: Lpuart_Lin_Ip_HwSetReceiverCmd/1 Lpuart_Lin_Ip_HwSetTransmitterCmd/0 Lpuart_Lin_Ip_TimeoutExpired/58 Lpuart_Lin_Ip_HwGetStatusFlag/59 Lpuart_Lin_Ip_StartTimeout/57 
Lpuart_Lin_Ip_Init/27 (Lpuart_Lin_Ip_Init) @06bb30e0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Lpuart_Lin_Ip_apxBases/16 (read)Lpuart_Lin_Ip_apxUserConfigs/18 (write)Lpuart_Lin_Ip_au8WakeupSignal/15 (write)Lpuart_Lin_Ip_apxStateStructureArray/19 (write)
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: Lpuart_Lin_Ip_HwSetReceiverCmd/1 Lpuart_Lin_Ip_HwSetTransmitterCmd/0 Lpuart_Lin_Ip_HwSetIntMode/53 Lpuart_Lin_Ip_HwSetIntMode/53 Lpuart_Lin_Ip_HwClearStatusFlag/54 Lpuart_Lin_Ip_HwSetIntMode/53 Lpuart_Lin_Ip_HwSetBreakCharDetectLength/13 Lpuart_Lin_Ip_HwSetBreakCharDetectLength/13 Lpuart_Lin_Ip_HwSetBreakCharTransmitLength/12 Lpuart_Lin_Ip_HwSetStopBitCount/7 Lpuart_Lin_Ip_HwSetParityMode/52 Lpuart_Lin_Ip_HwSetBitCountPerChar/51 Lpuart_Lin_Ip_HwSetBaudRateDivisor/2 Lpuart_Lin_Ip_HwSetOversamplingRatio/4 Lpuart_Lin_Ip_HwEnableBothEdgeSamplingCmd/6 Lpuart_Lin_Ip_HwInit/50 
Lpuart_Lin_Ip_ProcessWakeupDetect/26 (Lpuart_Lin_Ip_ProcessWakeupDetect) @06bb3d20
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: Lpuart_Lin_Ip_apxStateStructureArray/19 (read)Lpuart_Lin_Ip_apxBases/16 (read)
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: Lpuart_Lin_Ip_IRQHandler/43 
  Calls: Lpuart_Lin_Ip_AutoBaudCapture/25 Lpuart_Lin_Ip_CheckWakeupSignal/45 Lpuart_Lin_Ip_HwClearStatusFlag/54 
Lpuart_Lin_Ip_AutoBaudCapture/25 (Lpuart_Lin_Ip_AutoBaudCapture) @06bb3a80
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: Lpuart_Lin_Ip_apxStateStructureArray/19 (read)Lpuart_Lin_Ip_apxBases/16 (read)Lpuart_Lin_Ip_apxUserConfigs/18 (read)fallingEgdeCount.4733/69 (read)fallingEgdeCount.4733/69 (write)currentTick.4732/71 (addr)Lpuart_Lin_Ip_au8WakeupSignal/15 (write)currentTick.4732/71 (write)
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: Lpuart_Lin_Ip_ProcessWakeupDetect/26 
  Calls: OsIf_GetCounter/73 Lpuart_Lin_Ip_HwSetIntMode/53 Lpuart_Lin_Ip_HwSetBaudRateDivisor/2 OsIf_MicrosToTicks/72 OsIf_GetElapsed/70 
   Indirect call
Lpuart_Lin_Ip_MakeChecksumByte/24 (Lpuart_Lin_Ip_MakeChecksumByte) @06bb37e0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: Lpuart_Lin_Ip_apxStateStructureArray/19 (read)
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: Lpuart_Lin_Ip_GetBytetoBuffer/21 Lpuart_Lin_Ip_SyncSendFrameData/30 Lpuart_Lin_Ip_AsyncSendFrameData/29 
  Calls: Lin_Ip_MakeChecksumByte/62 
Lpuart_Lin_Ip_FrameErrorIrqHandler/23 (Lpuart_Lin_Ip_FrameErrorIrqHandler) @06bb3540
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: Lpuart_Lin_Ip_apxBases/16 (read)Lpuart_Lin_Ip_apxStateStructureArray/19 (read)Lpuart_Lin_Ip_apxUserConfigs/18 (read)
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: Lpuart_Lin_Ip_IRQHandler/43 
  Calls: Lpuart_Lin_Ip_HwGetchar/9 Lpuart_Lin_Ip_HwClearStatusFlag/54 
   Indirect call
   Indirect call
Lpuart_Lin_Ip_StatusBeforeTransfer/22 (Lpuart_Lin_Ip_StatusBeforeTransfer) @06bb32a0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: Lpuart_Lin_Ip_SyncReceiveFrameData/33 Lpuart_Lin_Ip_AsyncReceiveFrameData/32 Lpuart_Lin_Ip_SyncSendFrameData/30 Lpuart_Lin_Ip_AsyncSendFrameData/29 
  Calls: 
Lpuart_Lin_Ip_GetBytetoBuffer/21 (Lpuart_Lin_Ip_GetBytetoBuffer) @06bb3000
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: Lpuart_Lin_Ip_apxBases/16 (read)Lpuart_Lin_Ip_apxStateStructureArray/19 (read)
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: Lpuart_Lin_Ip_ProcessReceiveFrameData/48 Lpuart_Lin_Ip_SyncReceiveFrameData/33 
  Calls: Lpuart_Lin_Ip_MakeChecksumByte/24 Lpuart_Lin_Ip_HwGetchar/9 Lpuart_Lin_Ip_HwGetchar/9 
Lpuart_Lin_Ip_CheckReadbackByte/20 (Lpuart_Lin_Ip_CheckReadbackByte) @06baeee0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: Lpuart_Lin_Ip_SyncSendFrameData/30 
  Calls: 
Lpuart_Lin_Ip_apxStateStructureArray/19 (Lpuart_Lin_Ip_apxStateStructureArray) @06baa318
  Type: variable definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: Lpuart_Lin_Ip_Init/27 (write)Lpuart_Lin_Ip_Deinit/28 (read)Lpuart_Lin_Ip_Deinit/28 (write)Lpuart_Lin_Ip_AsyncSendFrameData/29 (read)Lpuart_Lin_Ip_MakeChecksumByte/24 (read)Lpuart_Lin_Ip_SyncSendFrameData/30 (read)Lpuart_Lin_Ip_GetTransmitStatus/31 (read)Lpuart_Lin_Ip_AsyncReceiveFrameData/32 (read)Lpuart_Lin_Ip_SyncReceiveFrameData/33 (read)Lpuart_Lin_Ip_GetBytetoBuffer/21 (read)Lpuart_Lin_Ip_AbortTransferData/34 (read)Lpuart_Lin_Ip_GetReceiveStatus/35 (read)Lpuart_Lin_Ip_GoToSleepMode/36 (read)Lpuart_Lin_Ip_SendWakeupSignal/37 (read)Lpuart_Lin_Ip_GetCurrentNodeState/38 (read)Lpuart_Lin_Ip_TimeoutService/39 (read)Lpuart_Lin_Ip_SetTimeoutCounter/40 (read)Lpuart_Lin_Ip_MasterSendHeader/41 (read)Lpuart_Lin_Ip_GotoIdleState/42 (read)Lpuart_Lin_Ip_IRQHandler/43 (read)Lpuart_Lin_Ip_ProcessBreakDetect/44 (read)Lpuart_Lin_Ip_ProcessWakeupDetect/26 (read)Lpuart_Lin_Ip_CheckWakeupSignal/45 (read)Lpuart_Lin_Ip_AutoBaudCapture/25 (read)Lpuart_Lin_Ip_FrameErrorIrqHandler/23 (read)Lpuart_Lin_Ip_FrameIrqHandler/46 (read)Lpuart_Lin_Ip_ProcessFrameHeader/47 (read)Lpuart_Lin_Ip_ProcessReceiveFrameData/48 (read)Lpuart_Lin_Ip_ProcessSendFrameData/49 (read)
  Availability: available
  Varpool flags:
Lpuart_Lin_Ip_apxUserConfigs/18 (Lpuart_Lin_Ip_apxUserConfigs) @06baa288
  Type: variable definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: Lpuart_Lin_Ip_Init/27 (write)Lpuart_Lin_Ip_AsyncSendFrameData/29 (read)Lpuart_Lin_Ip_SyncSendFrameData/30 (read)Lpuart_Lin_Ip_AsyncReceiveFrameData/32 (read)Lpuart_Lin_Ip_SyncReceiveFrameData/33 (read)Lpuart_Lin_Ip_TimeoutService/39 (read)Lpuart_Lin_Ip_MasterSendHeader/41 (read)Lpuart_Lin_Ip_GotoIdleState/42 (read)Lpuart_Lin_Ip_IRQHandler/43 (read)Lpuart_Lin_Ip_ProcessBreakDetect/44 (read)Lpuart_Lin_Ip_CheckWakeupSignal/45 (read)Lpuart_Lin_Ip_AutoBaudCapture/25 (read)Lpuart_Lin_Ip_FrameErrorIrqHandler/23 (read)Lpuart_Lin_Ip_ProcessFrameHeader/47 (read)Lpuart_Lin_Ip_ProcessReceiveFrameData/48 (read)Lpuart_Lin_Ip_ProcessSendFrameData/49 (read)
  Availability: available
  Varpool flags:
Lpuart_Lin_Ip_axStateStructure/17 (Lpuart_Lin_Ip_axStateStructure) @06baa1f8
  Type: variable definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Varpool flags:
Lpuart_Lin_Ip_apxBases/16 (Lpuart_Lin_Ip_apxBases) @06baa168
  Type: variable definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: Lpuart_Lin_Ip_Init/27 (read)Lpuart_Lin_Ip_Deinit/28 (read)Lpuart_Lin_Ip_AsyncSendFrameData/29 (read)Lpuart_Lin_Ip_SyncSendFrameData/30 (read)Lpuart_Lin_Ip_AsyncReceiveFrameData/32 (read)Lpuart_Lin_Ip_SyncReceiveFrameData/33 (read)Lpuart_Lin_Ip_GetBytetoBuffer/21 (read)Lpuart_Lin_Ip_AbortTransferData/34 (read)Lpuart_Lin_Ip_GoToSleepMode/36 (read)Lpuart_Lin_Ip_SendWakeupSignal/37 (read)Lpuart_Lin_Ip_MasterSendHeader/41 (read)Lpuart_Lin_Ip_GotoIdleState/42 (read)Lpuart_Lin_Ip_IRQHandler/43 (read)Lpuart_Lin_Ip_ProcessBreakDetect/44 (read)Lpuart_Lin_Ip_ProcessWakeupDetect/26 (read)Lpuart_Lin_Ip_CheckWakeupSignal/45 (read)Lpuart_Lin_Ip_AutoBaudCapture/25 (read)Lpuart_Lin_Ip_FrameErrorIrqHandler/23 (read)Lpuart_Lin_Ip_FrameIrqHandler/46 (read)Lpuart_Lin_Ip_ProcessFrameHeader/47 (read)Lpuart_Lin_Ip_ProcessSendFrameData/49 (read)
  Availability: available
  Varpool flags: initialized read-only const-value-known
Lpuart_Lin_Ip_au8WakeupSignal/15 (Lpuart_Lin_Ip_au8WakeupSignal) @06baa090
  Type: variable definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: Lpuart_Lin_Ip_Init/27 (write)Lpuart_Lin_Ip_SendWakeupSignal/37 (read)Lpuart_Lin_Ip_AutoBaudCapture/25 (write)
  Availability: available
  Varpool flags:
Lpuart_Lin_Ip_HwQueueBreakField/14 (Lpuart_Lin_Ip_HwQueueBreakField) @06b9b460
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: Lpuart_Lin_Ip_MasterSendHeader/41 
  Calls: 
Lpuart_Lin_Ip_HwSetBreakCharDetectLength/13 (Lpuart_Lin_Ip_HwSetBreakCharDetectLength) @06b9b0e0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: Lpuart_Lin_Ip_ProcessBreakDetect/44 Lpuart_Lin_Ip_GotoIdleState/42 Lpuart_Lin_Ip_MasterSendHeader/41 Lpuart_Lin_Ip_AsyncReceiveFrameData/32 Lpuart_Lin_Ip_AsyncSendFrameData/29 Lpuart_Lin_Ip_Init/27 Lpuart_Lin_Ip_Init/27 
  Calls: SchM_Exit_Lin_LIN_EXCLUSIVE_AREA_04/56 SchM_Enter_Lin_LIN_EXCLUSIVE_AREA_04/55 
Lpuart_Lin_Ip_HwSetBreakCharTransmitLength/12 (Lpuart_Lin_Ip_HwSetBreakCharTransmitLength) @06b97e00
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: Lpuart_Lin_Ip_Init/27 
  Calls: 
Lpuart_Lin_Ip_HwSetRxDataPolarity/11 (Lpuart_Lin_Ip_HwSetRxDataPolarity) @06b97b60
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: Lpuart_Lin_Ip_CheckWakeupSignal/45 Lpuart_Lin_Ip_CheckWakeupSignal/45 Lpuart_Lin_Ip_GotoIdleState/42 Lpuart_Lin_Ip_GoToSleepMode/36 
  Calls: 
Lpuart_Lin_Ip_HwGetRxDataPolarity/10 (Lpuart_Lin_Ip_HwGetRxDataPolarity) @06b978c0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: Lpuart_Lin_Ip_CheckWakeupSignal/45 
  Calls: 
Lpuart_Lin_Ip_HwGetchar/9 (Lpuart_Lin_Ip_HwGetchar) @06b97460
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: Lpuart_Lin_Ip_FrameIrqHandler/46 Lpuart_Lin_Ip_FrameIrqHandler/46 Lpuart_Lin_Ip_FrameIrqHandler/46 Lpuart_Lin_Ip_FrameErrorIrqHandler/23 Lpuart_Lin_Ip_ProcessBreakDetect/44 Lpuart_Lin_Ip_GetBytetoBuffer/21 Lpuart_Lin_Ip_GetBytetoBuffer/21 Lpuart_Lin_Ip_SyncSendFrameData/30 
  Calls: 
Lpuart_Lin_Ip_HwPutchar/8 (Lpuart_Lin_Ip_HwPutchar) @06b971c0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: Lpuart_Lin_Ip_ProcessSendFrameData/49 Lpuart_Lin_Ip_ProcessSendFrameData/49 Lpuart_Lin_Ip_ProcessFrameHeader/47 Lpuart_Lin_Ip_ProcessBreakDetect/44 Lpuart_Lin_Ip_SendWakeupSignal/37 Lpuart_Lin_Ip_SyncSendFrameData/30 Lpuart_Lin_Ip_AsyncSendFrameData/29 
  Calls: 
Lpuart_Lin_Ip_HwSetStopBitCount/7 (Lpuart_Lin_Ip_HwSetStopBitCount) @06b38d20
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: Lpuart_Lin_Ip_Init/27 
  Calls: 
Lpuart_Lin_Ip_HwEnableBothEdgeSamplingCmd/6 (Lpuart_Lin_Ip_HwEnableBothEdgeSamplingCmd) @06b388c0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: Lpuart_Lin_Ip_Init/27 
  Calls: 
Lpuart_Lin_Ip_HwSetOversamplingRatio/4 (Lpuart_Lin_Ip_HwSetOversamplingRatio) @06b38380
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: Lpuart_Lin_Ip_Init/27 
  Calls: 
Lpuart_Lin_Ip_HwSetBaudRateDivisor/2 (Lpuart_Lin_Ip_HwSetBaudRateDivisor) @06b31d20
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: Lpuart_Lin_Ip_AutoBaudCapture/25 Lpuart_Lin_Ip_Init/27 
  Calls: 
Lpuart_Lin_Ip_HwSetReceiverCmd/1 (Lpuart_Lin_Ip_HwSetReceiverCmd) @06b31a80
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: Lpuart_Lin_Ip_ProcessBreakDetect/44 Lpuart_Lin_Ip_Deinit/28 Lpuart_Lin_Ip_Init/27 
  Calls: Lpuart_Lin_Ip_TimeoutExpired/58 Lpuart_Lin_Ip_StartTimeout/57 
Lpuart_Lin_Ip_HwSetTransmitterCmd/0 (Lpuart_Lin_Ip_HwSetTransmitterCmd) @06b317e0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local optimize_size
  Called by: Lpuart_Lin_Ip_ProcessBreakDetect/44 Lpuart_Lin_Ip_Deinit/28 Lpuart_Lin_Ip_Init/27 
  Calls: Lpuart_Lin_Ip_TimeoutExpired/58 Lpuart_Lin_Ip_StartTimeout/57 
Lpuart_Lin_Ip_ProcessSendFrameData (const uint32 u32Instance, const uint8 tmpByte)
{
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig;
  struct LPUART_Type * base;
  boolean tmpBuffAndSize;
  boolean tmpCheckSumAndSize;
  uint8 tmpSize;
  boolean sendFlag;
  int iftmp.30;
  int iftmp.29;

  <bb 2> :
  # DEBUG BEGIN_STMT
  sendFlag = 1;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  base = Lpuart_Lin_Ip_apxBases[u32Instance];
  # DEBUG BEGIN_STMT
  pUserConfig = Lpuart_Lin_Ip_apxUserConfigs[u32Instance];
  # DEBUG BEGIN_STMT
  linCurrentState = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance];
  # DEBUG BEGIN_STMT
  _1 = Lpuart_Lin_Ip_HwGetStatusFlag (base, 131095);
  _2 = ~_1;
  if (_2 != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  linCurrentState->currentEventId = 9;
  # DEBUG BEGIN_STMT
  _3 = pUserConfig->Callback;
  if (_3 != 0B)
    goto <bb 4>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  _4 = pUserConfig->Callback;
  _4 (u32Instance, linCurrentState);

  <bb 5> :
  # DEBUG BEGIN_STMT
  linCurrentState->isTxBusy = 0;
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_GotoIdleState (u32Instance);
  # DEBUG BEGIN_STMT
  sendFlag = 0;
  goto <bb 20>; [INV]

  <bb 6> :
  # DEBUG BEGIN_STMT
  _5 = linCurrentState->txSize;
  _6 = linCurrentState->cntByte;
  tmpSize = _5 - _6;
  # DEBUG BEGIN_STMT
  if (tmpSize == 1)
    goto <bb 7>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 7> :
  _7 = linCurrentState->checkSum;
  if (tmpByte != _7)
    goto <bb 8>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 8> :
  iftmp.29 = 1;
  goto <bb 10>; [INV]

  <bb 9> :
  iftmp.29 = 0;

  <bb 10> :
  tmpCheckSumAndSize = (boolean) iftmp.29;
  # DEBUG BEGIN_STMT
  _8 = linCurrentState->txBuff;
  _9 = *_8;
  if (tmpByte != _9)
    goto <bb 11>; [INV]
  else
    goto <bb 13>; [INV]

  <bb 11> :
  if (tmpSize != 1)
    goto <bb 12>; [INV]
  else
    goto <bb 13>; [INV]

  <bb 12> :
  iftmp.30 = 1;
  goto <bb 14>; [INV]

  <bb 13> :
  iftmp.30 = 0;

  <bb 14> :
  tmpBuffAndSize = (boolean) iftmp.30;
  # DEBUG BEGIN_STMT
  if (tmpBuffAndSize != 0)
    goto <bb 16>; [INV]
  else
    goto <bb 15>; [INV]

  <bb 15> :
  if (tmpCheckSumAndSize != 0)
    goto <bb 16>; [INV]
  else
    goto <bb 19>; [INV]

  <bb 16> :
  # DEBUG BEGIN_STMT
  linCurrentState->currentEventId = 9;
  # DEBUG BEGIN_STMT
  _10 = pUserConfig->Callback;
  if (_10 != 0B)
    goto <bb 17>; [INV]
  else
    goto <bb 18>; [INV]

  <bb 17> :
  # DEBUG BEGIN_STMT
  _11 = pUserConfig->Callback;
  _11 (u32Instance, linCurrentState);

  <bb 18> :
  # DEBUG BEGIN_STMT
  linCurrentState->isTxBusy = 0;
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_GotoIdleState (u32Instance);
  # DEBUG BEGIN_STMT
  sendFlag = 0;
  goto <bb 20>; [INV]

  <bb 19> :
  # DEBUG BEGIN_STMT
  _12 = linCurrentState->txBuff;
  _13 = _12 + 1;
  linCurrentState->txBuff = _13;
  # DEBUG BEGIN_STMT
  _14 = linCurrentState->cntByte;
  _15 = _14;
  _16 = _15 + 1;
  linCurrentState->cntByte = _16;

  <bb 20> :
  # DEBUG BEGIN_STMT
  if (sendFlag != 0)
    goto <bb 21>; [INV]
  else
    goto <bb 29>; [INV]

  <bb 21> :
  # DEBUG BEGIN_STMT
  _17 = linCurrentState->cntByte;
  _18 = linCurrentState->txSize;
  if (_17 < _18)
    goto <bb 22>; [INV]
  else
    goto <bb 25>; [INV]

  <bb 22> :
  # DEBUG BEGIN_STMT
  _19 = linCurrentState->txSize;
  _20 = (int) _19;
  _21 = linCurrentState->cntByte;
  _22 = (int) _21;
  _23 = _20 - _22;
  if (_23 == 1)
    goto <bb 23>; [INV]
  else
    goto <bb 24>; [INV]

  <bb 23> :
  # DEBUG BEGIN_STMT
  _24 = linCurrentState->checkSum;
  Lpuart_Lin_Ip_HwPutchar (base, _24);
  goto <bb 29>; [INV]

  <bb 24> :
  # DEBUG BEGIN_STMT
  _25 = linCurrentState->txBuff;
  _26 = *_25;
  Lpuart_Lin_Ip_HwPutchar (base, _26);
  goto <bb 29>; [INV]

  <bb 25> :
  # DEBUG BEGIN_STMT
  linCurrentState->currentEventId = 11;
  # DEBUG BEGIN_STMT
  linCurrentState->currentNodeState = 10;
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base, 196629, 0);
  # DEBUG BEGIN_STMT
  _27 = pUserConfig->Callback;
  if (_27 != 0B)
    goto <bb 26>; [INV]
  else
    goto <bb 27>; [INV]

  <bb 26> :
  # DEBUG BEGIN_STMT
  _28 = pUserConfig->Callback;
  _28 (u32Instance, linCurrentState);

  <bb 27> :
  # DEBUG BEGIN_STMT
  linCurrentState->isTxBusy = 0;
  # DEBUG BEGIN_STMT
  _29 = linCurrentState->currentNodeState;
  if (_29 != 1)
    goto <bb 28>; [INV]
  else
    goto <bb 29>; [INV]

  <bb 28> :
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_GotoIdleState (u32Instance);

  <bb 29> :
  return;

}


Lpuart_Lin_Ip_ProcessReceiveFrameData (const uint32 u32Instance)
{
  const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig;
  Lpuart_Lin_Ip_StatusType retVal;
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;

  <bb 2> :
  # DEBUG BEGIN_STMT
  linCurrentState = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance];
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  pUserConfig = Lpuart_Lin_Ip_apxUserConfigs[u32Instance];
  # DEBUG BEGIN_STMT
  _1 = linCurrentState->cntByte;
  _2 = linCurrentState->rxSize;
  _3 = _2 + 255;
  _4 = linCurrentState->rxBuff;
  retVal = Lpuart_Lin_Ip_GetBytetoBuffer (_1, _3, _4, u32Instance);
  # DEBUG BEGIN_STMT
  _5 = linCurrentState->cntByte;
  _6 = linCurrentState->rxSize;
  if (_5 < _6)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  _7 = linCurrentState->cntByte;
  _8 = _7;
  _9 = _8 + 1;
  linCurrentState->cntByte = _9;

  <bb 4> :
  # DEBUG BEGIN_STMT
  if (retVal == 0)
    goto <bb 5>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 5> :
  # DEBUG BEGIN_STMT
  _10 = linCurrentState->rxSize;
  _11 = linCurrentState->cntByte;
  if (_10 == _11)
    goto <bb 6>; [INV]
  else
    goto <bb 11>; [INV]

  <bb 6> :
  # DEBUG BEGIN_STMT
  _12 = pUserConfig->Callback;
  if (_12 != 0B)
    goto <bb 7>; [INV]
  else
    goto <bb 11>; [INV]

  <bb 7> :
  # DEBUG BEGIN_STMT
  _13 = pUserConfig->Callback;
  _13 (u32Instance, linCurrentState);
  goto <bb 11>; [INV]

  <bb 8> :
  # DEBUG BEGIN_STMT
  _14 = pUserConfig->Callback;
  if (_14 != 0B)
    goto <bb 9>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 9> :
  # DEBUG BEGIN_STMT
  _15 = pUserConfig->Callback;
  _15 (u32Instance, linCurrentState);

  <bb 10> :
  # DEBUG BEGIN_STMT
  linCurrentState->isRxBusy = 0;
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_GotoIdleState (u32Instance);

  <bb 11> :
  return;

}


Lpuart_Lin_Ip_ProcessFrameHeader (const uint32 u32Instance, const uint8 tmpByte)
{
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig;
  struct LPUART_Type * base;

  <bb 2> :
  # DEBUG BEGIN_STMT
  base = Lpuart_Lin_Ip_apxBases[u32Instance];
  # DEBUG BEGIN_STMT
  pUserConfig = Lpuart_Lin_Ip_apxUserConfigs[u32Instance];
  # DEBUG BEGIN_STMT
  linCurrentState = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance];
  # DEBUG BEGIN_STMT
  _1 = linCurrentState->currentNodeState;
  _2 = (int) _1;
  switch (_2) <default: <L32> [INV], case 4: <L0> [INV], case 5: <L6> [INV], case 6: <L12> [INV]>

  <bb 3> :
<L0>:
  # DEBUG BEGIN_STMT
  if (tmpByte == 85)
    goto <bb 4>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  linCurrentState->currentEventId = 4;
  # DEBUG BEGIN_STMT
  linCurrentState->currentNodeState = 6;
  goto <bb 24>; [INV]

  <bb 5> :
  # DEBUG BEGIN_STMT
  linCurrentState->currentEventId = 5;
  # DEBUG BEGIN_STMT
  _3 = pUserConfig->Callback;
  if (_3 != 0B)
    goto <bb 6>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 6> :
  # DEBUG BEGIN_STMT
  _4 = pUserConfig->Callback;
  _4 (u32Instance, linCurrentState);

  <bb 7> :
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_GotoIdleState (u32Instance);
  goto <bb 24>; [INV]

  <bb 8> :
<L6>:
  # DEBUG BEGIN_STMT
  if (tmpByte == 85)
    goto <bb 9>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 9> :
  # DEBUG BEGIN_STMT
  linCurrentState->currentNodeState = 6;
  # DEBUG BEGIN_STMT
  _5 = linCurrentState->currentPid;
  Lpuart_Lin_Ip_HwPutchar (base, _5);
  goto <bb 24>; [INV]

  <bb 10> :
  # DEBUG BEGIN_STMT
  linCurrentState->currentEventId = 9;
  # DEBUG BEGIN_STMT
  linCurrentState->isBusBusy = 0;
  # DEBUG BEGIN_STMT
  _6 = pUserConfig->Callback;
  if (_6 != 0B)
    goto <bb 11>; [INV]
  else
    goto <bb 24>; [INV]

  <bb 11> :
  # DEBUG BEGIN_STMT
  _7 = pUserConfig->Callback;
  _7 (u32Instance, linCurrentState);
  goto <bb 24>; [INV]

  <bb 12> :
<L12>:
  # DEBUG BEGIN_STMT
  _8 = pUserConfig->nodeFunction;
  if (_8 != 0)
    goto <bb 13>; [INV]
  else
    goto <bb 18>; [INV]

  <bb 13> :
  # DEBUG BEGIN_STMT
  _9 = linCurrentState->currentPid;
  if (tmpByte == _9)
    goto <bb 14>; [INV]
  else
    goto <bb 16>; [INV]

  <bb 14> :
  # DEBUG BEGIN_STMT
  linCurrentState->currentEventId = 6;
  # DEBUG BEGIN_STMT
  linCurrentState->isBusBusy = 0;
  # DEBUG BEGIN_STMT
  _10 = pUserConfig->Callback;
  if (_10 != 0B)
    goto <bb 15>; [INV]
  else
    goto <bb 24>; [INV]

  <bb 15> :
  # DEBUG BEGIN_STMT
  _11 = pUserConfig->Callback;
  _11 (u32Instance, linCurrentState);
  goto <bb 24>; [INV]

  <bb 16> :
  # DEBUG BEGIN_STMT
  linCurrentState->currentEventId = 9;
  # DEBUG BEGIN_STMT
  linCurrentState->isBusBusy = 0;
  # DEBUG BEGIN_STMT
  _12 = pUserConfig->Callback;
  if (_12 != 0B)
    goto <bb 17>; [INV]
  else
    goto <bb 24>; [INV]

  <bb 17> :
  # DEBUG BEGIN_STMT
  _13 = pUserConfig->Callback;
  _13 (u32Instance, linCurrentState);
  goto <bb 24>; [INV]

  <bb 18> :
  # DEBUG BEGIN_STMT
  _14 = Lin_Ip_ProcessParity (tmpByte, 0);
  linCurrentState->currentId = _14;
  # DEBUG BEGIN_STMT
  linCurrentState->currentPid = tmpByte;
  # DEBUG BEGIN_STMT
  _15 = linCurrentState->currentId;
  if (_15 != 255)
    goto <bb 19>; [INV]
  else
    goto <bb 21>; [INV]

  <bb 19> :
  # DEBUG BEGIN_STMT
  linCurrentState->currentEventId = 6;
  # DEBUG BEGIN_STMT
  linCurrentState->isBusBusy = 0;
  # DEBUG BEGIN_STMT
  _16 = pUserConfig->Callback;
  if (_16 != 0B)
    goto <bb 20>; [INV]
  else
    goto <bb 24>; [INV]

  <bb 20> :
  # DEBUG BEGIN_STMT
  _17 = pUserConfig->Callback;
  _17 (u32Instance, linCurrentState);
  goto <bb 24>; [INV]

  <bb 21> :
  # DEBUG BEGIN_STMT
  linCurrentState->currentEventId = 7;
  # DEBUG BEGIN_STMT
  _18 = pUserConfig->Callback;
  if (_18 != 0B)
    goto <bb 22>; [INV]
  else
    goto <bb 23>; [INV]

  <bb 22> :
  # DEBUG BEGIN_STMT
  _19 = pUserConfig->Callback;
  _19 (u32Instance, linCurrentState);

  <bb 23> :
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_GotoIdleState (u32Instance);

  <bb 24> :
<L32>:
  return;

}


Lpuart_Lin_Ip_FrameIrqHandler (const uint32 u32Instance)
{
  const struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  const struct LPUART_Type * base;
  uint8 tmpByte;

  <bb 2> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  base = Lpuart_Lin_Ip_apxBases[u32Instance];
  # DEBUG BEGIN_STMT
  linCurrentState = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance];
  # DEBUG BEGIN_STMT
  _1 = Lpuart_Lin_Ip_HwGetStatusFlag (base, 131093);
  if (_1 != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 3> :
  _2 = Lpuart_Lin_Ip_HwGetIntMode (base, 196629);
  if (_2 != 0)
    goto <bb 4>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  _3 = linCurrentState->currentNodeState;
  _4 = (int) _3;
  switch (_4) <default: <L7> [INV], case 4 ... 6: <L2> [INV], case 7: <L5> [INV], case 9: <L6> [INV]>

  <bb 5> :
<L2>:
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwGetchar (base, &tmpByte);
  # DEBUG BEGIN_STMT
  tmpByte.27_5 = tmpByte;
  Lpuart_Lin_Ip_ProcessFrameHeader (u32Instance, tmpByte.27_5);
  # DEBUG BEGIN_STMT
  goto <bb 9>; [INV]

  <bb 6> :
<L5>:
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_ProcessReceiveFrameData (u32Instance);
  # DEBUG BEGIN_STMT
  goto <bb 9>; [INV]

  <bb 7> :
<L6>:
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwGetchar (base, &tmpByte);
  # DEBUG BEGIN_STMT
  tmpByte.28_6 = tmpByte;
  Lpuart_Lin_Ip_ProcessSendFrameData (u32Instance, tmpByte.28_6);
  # DEBUG BEGIN_STMT
  goto <bb 9>; [INV]

  <bb 8> :
<L7>:
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwGetchar (base, &tmpByte);
  # DEBUG BEGIN_STMT

  <bb 9> :
  tmpByte = {CLOBBER};
  return;

}


Lpuart_Lin_Ip_CheckWakeupSignal (const uint32 u32Instance)
{
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  struct LPUART_Type * base;
  const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig;
  uint32 wakeupSignalLength;

  <bb 2> :
  # DEBUG BEGIN_STMT
  wakeupSignalLength = 0;
  # DEBUG BEGIN_STMT
  pUserConfig = Lpuart_Lin_Ip_apxUserConfigs[u32Instance];
  # DEBUG BEGIN_STMT
  base = Lpuart_Lin_Ip_apxBases[u32Instance];
  # DEBUG BEGIN_STMT
  linCurrentState = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance];
  # DEBUG BEGIN_STMT
  _1 = Lpuart_Lin_Ip_HwGetRxDataPolarity (base);
  _2 = ~_1;
  if (_2 != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  _3 = pUserConfig->timerGetTimeIntervalCallback;
  _3 (u32Instance, &wakeupSignalLength);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetRxDataPolarity (base, 1);
  goto <bb 8>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetRxDataPolarity (base, 0);
  # DEBUG BEGIN_STMT
  _4 = pUserConfig->timerGetTimeIntervalCallback;
  _4 (u32Instance, &wakeupSignalLength);
  # DEBUG BEGIN_STMT
  wakeupSignalLength.24_5 = wakeupSignalLength;
  if (wakeupSignalLength.24_5 > 149999)
    goto <bb 5>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 5> :
  # DEBUG BEGIN_STMT
  linCurrentState->currentEventId = 1;
  # DEBUG BEGIN_STMT
  _6 = pUserConfig->Callback;
  if (_6 != 0B)
    goto <bb 6>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 6> :
  # DEBUG BEGIN_STMT
  _7 = pUserConfig->Callback;
  _7 (u32Instance, linCurrentState);

  <bb 7> :
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_GotoIdleState (u32Instance);

  <bb 8> :
  wakeupSignalLength = {CLOBBER};
  return;

}


Lpuart_Lin_Ip_ProcessBreakDetect (const uint32 u32Instance)
{
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  struct LPUART_Type * base;
  uint8 discardData;
  const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig;

  <bb 2> :
  # DEBUG BEGIN_STMT
  pUserConfig = Lpuart_Lin_Ip_apxUserConfigs[u32Instance];
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  base = Lpuart_Lin_Ip_apxBases[u32Instance];
  # DEBUG BEGIN_STMT
  linCurrentState = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance];
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwClearStatusFlag (base, 131103);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetBreakCharDetectLength (base, 0);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base, 65551, 0);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwGetchar (base, &discardData);
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base, 196629, 1);
  # DEBUG BEGIN_STMT
  _1 = pUserConfig->nodeFunction;
  if (_1 != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  _2 = linCurrentState->currentNodeState;
  if (_2 == 3)
    goto <bb 4>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  _3 = pUserConfig->u32HeaderTimeoutValue;
  _4 = _3 / 500;
  _5 = _4 + 1;
  Lpuart_Lin_Ip_SetTimeoutCounter (u32Instance, _5);
  # DEBUG BEGIN_STMT
  linCurrentState->currentNodeState = 5;
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwPutchar (base, 85);
  goto <bb 8>; [INV]

  <bb 5> :
  # DEBUG BEGIN_STMT
  linCurrentState->isBusBusy = 1;
  # DEBUG BEGIN_STMT
  linCurrentState->currentEventId = 3;
  # DEBUG BEGIN_STMT
  linCurrentState->currentNodeState = 4;
  # DEBUG BEGIN_STMT
  _6 = linCurrentState->baudrateEvalEnable;
  if (_6 != 0)
    goto <bb 6>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 6> :
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base, 65550, 1);
  # DEBUG BEGIN_STMT
  linCurrentState->fallingEdgeInterruptCount = 0;
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetTransmitterCmd (base, 1);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetReceiverCmd (base, 1);

  <bb 7> :
  # DEBUG BEGIN_STMT
  _7 = pUserConfig->u32HeaderTimeoutValue;
  _8 = _7 / 500;
  _9 = _8 + 1;
  Lpuart_Lin_Ip_SetTimeoutCounter (u32Instance, _9);

  <bb 8> :
  discardData = {CLOBBER};
  return;

}


Lpuart_Lin_Ip_IRQHandler (const uint32 u32Instance)
{
  boolean bSpuriousIntAvailable;
  boolean activeEdgeIntState;
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  struct LPUART_Type * base;
  const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig;
  int iftmp.23;

  <bb 2> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  bSpuriousIntAvailable = 0;
  # DEBUG BEGIN_STMT
  pUserConfig = Lpuart_Lin_Ip_apxUserConfigs[u32Instance];
  # DEBUG BEGIN_STMT
  base = Lpuart_Lin_Ip_apxBases[u32Instance];
  # DEBUG BEGIN_STMT
  linCurrentState = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance];
  # DEBUG BEGIN_STMT
  activeEdgeIntState = Lpuart_Lin_Ip_HwGetIntMode (base, 65550);
  # DEBUG BEGIN_STMT
  if (linCurrentState == 0B)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwClearStatusFlag (base, 0);
  goto <bb 24>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  _1 = Lpuart_Lin_Ip_HwGetStatusFlag (base, 131103);
  if (_1 != 0)
    goto <bb 5>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 5> :
  _2 = Lpuart_Lin_Ip_HwGetIntMode (base, 65551);
  if (_2 != 0)
    goto <bb 6>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 6> :
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_ProcessBreakDetect (u32Instance);
  goto <bb 18>; [INV]

  <bb 7> :
  # DEBUG BEGIN_STMT
  _3 = Lpuart_Lin_Ip_HwGetStatusFlag (base, 131102);
  if (_3 != 0)
    goto <bb 8>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 8> :
  if (activeEdgeIntState != 0)
    goto <bb 9>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 9> :
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_ProcessWakeupDetect (u32Instance);
  goto <bb 18>; [INV]

  <bb 10> :
  # DEBUG BEGIN_STMT
  _4 = Lpuart_Lin_Ip_HwGetStatusFlag (base, 131089);
  if (_4 != 0)
    goto <bb 11>; [INV]
  else
    goto <bb 13>; [INV]

  <bb 11> :
  _5 = Lpuart_Lin_Ip_HwGetIntMode (base, 196633);
  if (_5 != 0)
    goto <bb 12>; [INV]
  else
    goto <bb 13>; [INV]

  <bb 12> :
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_FrameErrorIrqHandler (u32Instance);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_GotoIdleState (u32Instance);
  goto <bb 18>; [INV]

  <bb 13> :
  # DEBUG BEGIN_STMT
  _6 = Lpuart_Lin_Ip_HwGetStatusFlag (base, 131093);
  if (_6 != 0)
    goto <bb 14>; [INV]
  else
    goto <bb 16>; [INV]

  <bb 14> :
  _7 = Lpuart_Lin_Ip_HwGetIntMode (base, 196629);
  if (_7 != 0)
    goto <bb 15>; [INV]
  else
    goto <bb 16>; [INV]

  <bb 15> :
  iftmp.23 = 1;
  goto <bb 17>; [INV]

  <bb 16> :
  iftmp.23 = 0;

  <bb 17> :
  bSpuriousIntAvailable = (boolean) iftmp.23;
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_FrameIrqHandler (u32Instance);

  <bb 18> :
  # DEBUG BEGIN_STMT
  _8 = Lpuart_Lin_Ip_HwGetStatusFlag (base, 131091);
  if (_8 != 0)
    goto <bb 19>; [INV]
  else
    goto <bb 22>; [INV]

  <bb 19> :
  _9 = Lpuart_Lin_Ip_HwGetIntMode (base, 196635);
  if (_9 != 0)
    goto <bb 20>; [INV]
  else
    goto <bb 22>; [INV]

  <bb 20> :
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwClearStatusFlag (base, 131091);
  # DEBUG BEGIN_STMT
  linCurrentState->currentEventId = 13;
  # DEBUG BEGIN_STMT
  _10 = pUserConfig->Callback;
  if (_10 != 0B)
    goto <bb 21>; [INV]
  else
    goto <bb 24>; [INV]

  <bb 21> :
  # DEBUG BEGIN_STMT
  _11 = pUserConfig->Callback;
  _11 (u32Instance, linCurrentState);
  goto <bb 24>; [INV]

  <bb 22> :
  # DEBUG BEGIN_STMT
  if (bSpuriousIntAvailable != 0)
    goto <bb 23>; [INV]
  else
    goto <bb 24>; [INV]

  <bb 23> :
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwClearStatusFlag (base, 0);

  <bb 24> :
  return;

}


Lpuart_Lin_Ip_GotoIdleState (const uint32 u32Instance)
{
  const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig;
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  struct LPUART_Type * base;

  <bb 2> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  linCurrentState = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance];
  # DEBUG BEGIN_STMT
  base = Lpuart_Lin_Ip_apxBases[u32Instance];
  # DEBUG BEGIN_STMT
  pUserConfig = Lpuart_Lin_Ip_apxUserConfigs[u32Instance];
  # DEBUG BEGIN_STMT
  linCurrentState->currentEventId = 0;
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetRxDataPolarity (base, 0);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base, 65550, 0);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base, 196633, 1);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base, 196629, 0);
  # DEBUG BEGIN_STMT
  _1 = pUserConfig->nodeFunction;
  _2 = ~_1;
  if (_2 != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  _3 = pUserConfig->u8BreakLengthDetect;
  Lpuart_Lin_Ip_HwSetBreakCharDetectLength (base, _3);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base, 65551, 1);

  <bb 4> :
  # DEBUG BEGIN_STMT
  SchM_Enter_Lin_LIN_EXCLUSIVE_AREA_02 ();
  # DEBUG BEGIN_STMT
  linCurrentState->currentNodeState = 2;
  # DEBUG BEGIN_STMT
  linCurrentState->isBusBusy = 0;
  # DEBUG BEGIN_STMT
  linCurrentState->isTxBusy = 0;
  # DEBUG BEGIN_STMT
  linCurrentState->isRxBusy = 0;
  # DEBUG BEGIN_STMT
  linCurrentState->timeoutCounterFlag = 0;
  # DEBUG BEGIN_STMT
  SchM_Exit_Lin_LIN_EXCLUSIVE_AREA_02 ();
  return;

}


Lpuart_Lin_Ip_MasterSendHeader (const uint32 u32Instance, const uint8 u8Id)
{
  boolean checkSleepMode;
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  struct LPUART_Type * base;
  const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig;
  Lpuart_Lin_Ip_StatusType retVal;
  Lpuart_Lin_Ip_StatusType D.5100;

  <bb 2> :
  # DEBUG BEGIN_STMT
  retVal = 0;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  pUserConfig = Lpuart_Lin_Ip_apxUserConfigs[u32Instance];
  # DEBUG BEGIN_STMT
  base = Lpuart_Lin_Ip_apxBases[u32Instance];
  # DEBUG BEGIN_STMT
  linCurrentState = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance];
  # DEBUG BEGIN_STMT
  _1 = linCurrentState->currentNodeState;
  checkSleepMode = _1 == 1;
  # DEBUG BEGIN_STMT
  _2 = pUserConfig->nodeFunction;
  _3 = ~_2;
  if (_3 != 0)
    goto <bb 5>; [INV]
  else
    goto <bb 3>; [INV]

  <bb 3> :
  if (u8Id > 63)
    goto <bb 5>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 4> :
  if (checkSleepMode != 0)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  # DEBUG BEGIN_STMT
  retVal = 1;
  goto <bb 9>; [INV]

  <bb 6> :
  # DEBUG BEGIN_STMT
  _4 = linCurrentState->isBusBusy;
  if (_4 != 0)
    goto <bb 7>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 7> :
  # DEBUG BEGIN_STMT
  retVal = 2;
  goto <bb 9>; [INV]

  <bb 8> :
  # DEBUG BEGIN_STMT
  linCurrentState->currentId = u8Id;
  # DEBUG BEGIN_STMT
  _5 = Lin_Ip_ProcessParity (u8Id, 1);
  linCurrentState->currentPid = _5;
  # DEBUG BEGIN_STMT
  linCurrentState->currentNodeState = 3;
  # DEBUG BEGIN_STMT
  linCurrentState->currentEventId = 0;
  # DEBUG BEGIN_STMT
  linCurrentState->isBusBusy = 1;
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetBreakCharDetectLength (base, 1);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base, 65551, 1);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwQueueBreakField (base);

  <bb 9> :
  # DEBUG BEGIN_STMT
  D.5100 = retVal;
  return D.5100;

}


Lpuart_Lin_Ip_SetTimeoutCounter (const uint32 u32Instance, const uint32 u32TimeoutValue)
{
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;

  <bb 2> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  linCurrentState = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance];
  # DEBUG BEGIN_STMT
  linCurrentState->timeoutCounterFlag = 0;
  # DEBUG BEGIN_STMT
  linCurrentState->timeoutCounter = u32TimeoutValue;
  return;

}


Lpuart_Lin_Ip_TimeoutService (const uint32 u32Instance)
{
  Lpuart_Lin_Ip_NodeStateType state;
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig;

  <bb 2> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  linCurrentState = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance];
  # DEBUG BEGIN_STMT
  pUserConfig = Lpuart_Lin_Ip_apxUserConfigs[u32Instance];
  # DEBUG BEGIN_STMT
  state = linCurrentState->currentNodeState;
  # DEBUG BEGIN_STMT
  _1 = (int) state;
  switch (_1) <default: <L14> [INV], case 4 ... 7: <L0> [INV], case 9: <L0> [INV]>

  <bb 3> :
<L0>:
  # DEBUG BEGIN_STMT
  _2 = linCurrentState->timeoutCounter;
  if (_2 == 0)
    goto <bb 4>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  linCurrentState->timeoutCounterFlag = 1;
  # DEBUG BEGIN_STMT
  linCurrentState->isTxBusy = 0;
  # DEBUG BEGIN_STMT
  linCurrentState->currentEventId = 14;
  # DEBUG BEGIN_STMT
  _3 = pUserConfig->Callback;
  if (_3 != 0B)
    goto <bb 5>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 5> :
  # DEBUG BEGIN_STMT
  _4 = pUserConfig->Callback;
  _4 (u32Instance, linCurrentState);
  goto <bb 7>; [INV]

  <bb 6> :
  # DEBUG BEGIN_STMT
  _5 = linCurrentState->timeoutCounter;
  _6 = _5 + 4294967295;
  linCurrentState->timeoutCounter = _6;

  <bb 7> :
<L14>:
  # DEBUG BEGIN_STMT
  _7 = linCurrentState->timeoutCounterFlag;
  # DEBUG BEGIN_STMT
  return;

}


Lpuart_Lin_Ip_GetCurrentNodeState (const uint32 u32Instance)
{
  const struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  Lpuart_Lin_Ip_NodeStateType retVal;
  Lpuart_Lin_Ip_NodeStateType D.5082;

  <bb 2> :
  # DEBUG BEGIN_STMT
  retVal = 0;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  linCurrentState = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance];
  # DEBUG BEGIN_STMT
  if (linCurrentState != 0B)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  retVal = linCurrentState->currentNodeState;

  <bb 4> :
  # DEBUG BEGIN_STMT
  D.5082 = retVal;
  return D.5082;

}


Lpuart_Lin_Ip_SendWakeupSignal (const uint32 u32Instance)
{
  Lpuart_Lin_Ip_StatusType retVal;
  const struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  struct LPUART_Type * base;
  Lpuart_Lin_Ip_StatusType D.5078;

  <bb 2> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  retVal = 0;
  # DEBUG BEGIN_STMT
  linCurrentState = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance];
  # DEBUG BEGIN_STMT
  base = Lpuart_Lin_Ip_apxBases[u32Instance];
  # DEBUG BEGIN_STMT
  _1 = linCurrentState->isBusBusy;
  _2 = ~_1;
  if (_2 != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  _3 = Lpuart_Lin_Ip_au8WakeupSignal[u32Instance];
  Lpuart_Lin_Ip_HwPutchar (base, _3);
  goto <bb 5>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  retVal = 2;

  <bb 5> :
  # DEBUG BEGIN_STMT
  D.5078 = retVal;
  return D.5078;

}


Lpuart_Lin_Ip_GoToSleepMode (const uint32 u32Instance)
{
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  struct LPUART_Type * base;

  <bb 2> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  linCurrentState = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance];
  # DEBUG BEGIN_STMT
  base = Lpuart_Lin_Ip_apxBases[u32Instance];
  # DEBUG BEGIN_STMT
  linCurrentState->currentNodeState = 1;
  # DEBUG BEGIN_STMT
  linCurrentState->isTxBusy = 0;
  # DEBUG BEGIN_STMT
  linCurrentState->isRxBusy = 0;
  # DEBUG BEGIN_STMT
  linCurrentState->isBusBusy = 0;
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwClearStatusFlag (base, 131102);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetRxDataPolarity (base, 0);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base, 196629, 0);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base, 65550, 1);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base, 196633, 0);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base, 65551, 0);
  return;

}


Lpuart_Lin_Ip_GetReceiveStatus (const uint32 u32Instance, uint8 * const pBytesRemaining)
{
  Lpuart_Lin_Ip_StatusType retVal;
  const struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  Lpuart_Lin_Ip_StatusType D.5069;

  <bb 2> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  retVal = 0;
  # DEBUG BEGIN_STMT
  linCurrentState = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance];
  # DEBUG BEGIN_STMT
  _1 = linCurrentState->rxSize;
  _2 = linCurrentState->cntByte;
  _3 = _1 - _2;
  *pBytesRemaining = _3;
  # DEBUG BEGIN_STMT
  _4 = linCurrentState->currentEventId;
  if (_4 == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 3> :
  _5 = *pBytesRemaining;
  if (_5 != 0)
    goto <bb 4>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  _6 = linCurrentState->timeoutCounterFlag;
  _7 = ~_6;
  if (_7 != 0)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  # DEBUG BEGIN_STMT
  retVal = 2;
  goto <bb 7>; [INV]

  <bb 6> :
  # DEBUG BEGIN_STMT
  retVal = 3;

  <bb 7> :
  # DEBUG BEGIN_STMT
  D.5069 = retVal;
  return D.5069;

}


Lpuart_Lin_Ip_AbortTransferData (const uint32 u32Instance)
{
  uint32 timeoutTicks;
  uint32 startTime;
  struct LPUART_Type * base;
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;

  <bb 2> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  linCurrentState = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance];
  # DEBUG BEGIN_STMT
  base = Lpuart_Lin_Ip_apxBases[u32Instance];
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base, 196629, 0);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base, 196633, 0);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base, 65551, 0);
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_StartTimeout (&startTime, &timeoutTicks, 65535, 0);

  <bb 3> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = Lpuart_Lin_Ip_HwGetStatusFlag (base, 131094);
  if (_1 != 0)
    goto <bb 5>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  startTime.20_2 = startTime;
  timeoutTicks.21_3 = timeoutTicks;
  _4 = Lpuart_Lin_Ip_TimeoutExpired (startTime.20_2, timeoutTicks.21_3, 0);
  _5 = ~_4;
  if (_5 != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 5> :
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_GotoIdleState (u32Instance);
  # DEBUG BEGIN_STMT
  linCurrentState->isTxBusy = 0;
  # DEBUG BEGIN_STMT
  linCurrentState->isRxBusy = 0;
  startTime = {CLOBBER};
  timeoutTicks = {CLOBBER};
  return;

}


Lpuart_Lin_Ip_SyncReceiveFrameData (const uint32 u32Instance, uint8 * pRxBuff, const uint8 u8RxSize)
{
  const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig;
  uint32 startTime;
  uint32 timeoutTicks;
  uint8 byteCnt;
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  struct LPUART_Type * base;
  volatile Lpuart_Lin_Ip_StatusType retVal;
  Lpuart_Lin_Ip_StatusType D.5049;

  <bb 2> :
  # DEBUG BEGIN_STMT
  retVal = 0;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  byteCnt = 0;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  linCurrentState = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance];
  # DEBUG BEGIN_STMT
  base = Lpuart_Lin_Ip_apxBases[u32Instance];
  # DEBUG BEGIN_STMT
  _1 = Lpuart_Lin_Ip_StatusBeforeTransfer (u8RxSize, linCurrentState);
  retVal = _1;
  # DEBUG BEGIN_STMT
  retVal.13_2 = retVal;
  if (retVal.13_2 != 0)
    goto <bb 16>; [INV]
  else
    goto <bb 3>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base, 196629, 0);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base, 65551, 0);
  # DEBUG BEGIN_STMT
  linCurrentState->currentEventId = 0;

  <bb 4> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  pUserConfig = Lpuart_Lin_Ip_apxUserConfigs[u32Instance];
  # DEBUG BEGIN_STMT
  _3 = pUserConfig->u32ResponseTimeoutValue;
  _4 = (long unsigned int) u8RxSize;
  _5 = _4 + 1;
  _6 = _3 * _5;
  _7 = _6 / 500;
  _8 = _7 + 1;
  Lpuart_Lin_Ip_SetTimeoutCounter (u32Instance, _8);
  # DEBUG BEGIN_STMT
  retVal = 3;
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_StartTimeout (&startTime, &timeoutTicks, 65535, 0);
  # DEBUG BEGIN_STMT
  goto <bb 7>; [INV]

  <bb 5> :
  # DEBUG BEGIN_STMT
  _9 = Lpuart_Lin_Ip_HwGetStatusFlag (base, 131093);
  if (_9 != 0)
    goto <bb 6>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 6> :
  # DEBUG BEGIN_STMT
  retVal = 0;
  # DEBUG BEGIN_STMT
  goto <bb 8>; [INV]

  <bb 7> :
  # DEBUG BEGIN_STMT
  startTime.14_10 = startTime;
  timeoutTicks.15_11 = timeoutTicks;
  _12 = Lpuart_Lin_Ip_TimeoutExpired (startTime.14_10, timeoutTicks.15_11, 0);
  _13 = ~_12;
  if (_13 != 0)
    goto <bb 5>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 8> :
  # DEBUG BEGIN_STMT
  _14 = linCurrentState->currentEventId;
  if (_14 != 0)
    goto <bb 9>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 9> :
  # DEBUG BEGIN_STMT
  retVal = 1;
  goto <bb 13>; [INV]

  <bb 10> :
  # DEBUG BEGIN_STMT
  retVal.16_15 = retVal;
  if (retVal.16_15 == 0)
    goto <bb 11>; [INV]
  else
    goto <bb 12>; [INV]

  <bb 11> :
  # DEBUG BEGIN_STMT
  _16 = Lpuart_Lin_Ip_GetBytetoBuffer (byteCnt, u8RxSize, pRxBuff, u32Instance);
  retVal = _16;
  goto <bb 13>; [INV]

  <bb 12> :
  # DEBUG BEGIN_STMT
  retVal = 3;

  <bb 13> :
  # DEBUG BEGIN_STMT
  retVal.17_17 = retVal;
  if (retVal.17_17 != 0)
    goto <bb 15>; [INV]
  else
    goto <bb 14>; [INV]

  <bb 14> :
  # DEBUG BEGIN_STMT
  byteCnt.18_18 = byteCnt;
  byteCnt = byteCnt.18_18 + 1;
  if (u8RxSize > byteCnt.18_18)
    goto <bb 4>; [INV]
  else
    goto <bb 15>; [INV]

  <bb 15> :
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_GotoIdleState (u32Instance);

  <bb 16> :
  # DEBUG BEGIN_STMT
  D.5049 = retVal;
  timeoutTicks = {CLOBBER};
  startTime = {CLOBBER};
  return D.5049;

}


Lpuart_Lin_Ip_AsyncReceiveFrameData (const uint32 u32Instance, uint8 * pRxBuff, const uint8 u8RxSize)
{
  const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig;
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  struct LPUART_Type * base;
  Lpuart_Lin_Ip_StatusType retVal;
  Lpuart_Lin_Ip_StatusType D.5035;

  <bb 2> :
  # DEBUG BEGIN_STMT
  retVal = 0;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  linCurrentState = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance];
  # DEBUG BEGIN_STMT
  base = Lpuart_Lin_Ip_apxBases[u32Instance];
  # DEBUG BEGIN_STMT
  retVal = Lpuart_Lin_Ip_StatusBeforeTransfer (u8RxSize, linCurrentState);
  # DEBUG BEGIN_STMT
  if (retVal != 0)
    goto <bb 4>; [INV]
  else
    goto <bb 3>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  SchM_Enter_Lin_LIN_EXCLUSIVE_AREA_01 ();
  # DEBUG BEGIN_STMT
  linCurrentState->rxBuff = pRxBuff;
  # DEBUG BEGIN_STMT
  _1 = u8RxSize + 1;
  linCurrentState->rxSize = _1;
  # DEBUG BEGIN_STMT
  linCurrentState->cntByte = 0;
  # DEBUG BEGIN_STMT
  linCurrentState->currentNodeState = 7;
  # DEBUG BEGIN_STMT
  linCurrentState->currentEventId = 0;
  # DEBUG BEGIN_STMT
  linCurrentState->isBusBusy = 1;
  # DEBUG BEGIN_STMT
  linCurrentState->isRxBusy = 1;
  # DEBUG BEGIN_STMT
  SchM_Exit_Lin_LIN_EXCLUSIVE_AREA_01 ();
  # DEBUG BEGIN_STMT
  pUserConfig = Lpuart_Lin_Ip_apxUserConfigs[u32Instance];
  # DEBUG BEGIN_STMT
  _2 = pUserConfig->u32ResponseTimeoutValue;
  _3 = (long unsigned int) u8RxSize;
  _4 = _3 + 1;
  _5 = _2 * _4;
  _6 = _5 / 500;
  _7 = _6 + 1;
  Lpuart_Lin_Ip_SetTimeoutCounter (u32Instance, _7);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetBreakCharDetectLength (base, 0);

  <bb 4> :
  # DEBUG BEGIN_STMT
  D.5035 = retVal;
  return D.5035;

}


Lpuart_Lin_Ip_GetTransmitStatus (const uint32 u32Instance, uint8 * const pBytesRemaining)
{
  uint8 u8LocalBytesRemaining;
  boolean bBytesCountReturn;
  const struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  Lpuart_Lin_Ip_StatusType retVal;
  Lpuart_Lin_Ip_StatusType D.5030;

  <bb 2> :
  # DEBUG BEGIN_STMT
  retVal = 0;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  bBytesCountReturn = pBytesRemaining != 0B;
  # DEBUG BEGIN_STMT
  u8LocalBytesRemaining = 0;
  # DEBUG BEGIN_STMT
  linCurrentState = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance];
  # DEBUG BEGIN_STMT
  _1 = linCurrentState->txSize;
  _2 = linCurrentState->cntByte;
  u8LocalBytesRemaining = _1 - _2;
  # DEBUG BEGIN_STMT
  _3 = linCurrentState->currentEventId;
  if (_3 == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 3> :
  if (u8LocalBytesRemaining != 0)
    goto <bb 4>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  _4 = linCurrentState->timeoutCounterFlag;
  _5 = ~_4;
  if (_5 != 0)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  # DEBUG BEGIN_STMT
  retVal = 2;
  goto <bb 7>; [INV]

  <bb 6> :
  # DEBUG BEGIN_STMT
  retVal = 3;

  <bb 7> :
  # DEBUG BEGIN_STMT
  if (bBytesCountReturn != 0)
    goto <bb 8>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 8> :
  # DEBUG BEGIN_STMT
  *pBytesRemaining = u8LocalBytesRemaining;

  <bb 9> :
  # DEBUG BEGIN_STMT
  D.5030 = retVal;
  return D.5030;

}


Lpuart_Lin_Ip_SyncSendFrameData (const uint32 u32Instance, const uint8 * pTxBuff, const uint8 u8TxSize)
{
  const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig;
  uint32 timeoutTicks;
  uint32 startTime;
  uint8 readbackByte;
  uint8 sendByte;
  uint8 byteCnt;
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  struct LPUART_Type * base;
  Lpuart_Lin_Ip_StatusType retVal;
  Lpuart_Lin_Ip_StatusType D.5013;

  <bb 2> :
  # DEBUG BEGIN_STMT
  retVal = 1;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  byteCnt = 0;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  linCurrentState = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance];
  # DEBUG BEGIN_STMT
  base = Lpuart_Lin_Ip_apxBases[u32Instance];
  # DEBUG BEGIN_STMT
  retVal = Lpuart_Lin_Ip_StatusBeforeTransfer (u8TxSize, linCurrentState);
  # DEBUG BEGIN_STMT
  if (retVal != 0)
    goto <bb 17>; [INV]
  else
    goto <bb 3>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base, 196629, 0);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base, 65551, 0);
  # DEBUG BEGIN_STMT
  linCurrentState->currentEventId = 0;
  # DEBUG BEGIN_STMT
  _1 = linCurrentState->currentPid;
  _2 = Lpuart_Lin_Ip_MakeChecksumByte (u32Instance, pTxBuff, u8TxSize, _1);
  linCurrentState->checkSum = _2;
  # DEBUG BEGIN_STMT
  pUserConfig = Lpuart_Lin_Ip_apxUserConfigs[u32Instance];
  # DEBUG BEGIN_STMT
  _3 = pUserConfig->u32ResponseTimeoutValue;
  _4 = (long unsigned int) u8TxSize;
  _5 = _4 + 1;
  _6 = _3 * _5;
  _7 = _6 / 500;
  _8 = _7 + 1;
  Lpuart_Lin_Ip_SetTimeoutCounter (u32Instance, _8);

  <bb 4> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _9 = linCurrentState->currentEventId;
  if (_9 != 0)
    goto <bb 6>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 5> :
  if (byteCnt > u8TxSize)
    goto <bb 6>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 6> :
  # DEBUG BEGIN_STMT
  retVal = 1;
  # DEBUG BEGIN_STMT
  goto <bb 16>; [INV]

  <bb 7> :
  # DEBUG BEGIN_STMT
  if (byteCnt < u8TxSize)
    goto <bb 8>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 8> :
  # DEBUG BEGIN_STMT
  _10 = (sizetype) byteCnt;
  _11 = pTxBuff + _10;
  sendByte = *_11;
  goto <bb 10>; [INV]

  <bb 9> :
  # DEBUG BEGIN_STMT
  sendByte = linCurrentState->checkSum;

  <bb 10> :
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwPutchar (base, sendByte);
  # DEBUG BEGIN_STMT
  retVal = 3;
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_StartTimeout (&startTime, &timeoutTicks, 65535, 0);

  <bb 11> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _12 = Lpuart_Lin_Ip_HwGetStatusFlag (base, 131093);
  if (_12 != 0)
    goto <bb 12>; [INV]
  else
    goto <bb 13>; [INV]

  <bb 12> :
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwGetchar (base, &readbackByte);
  # DEBUG BEGIN_STMT
  readbackByte.9_13 = readbackByte;
  retVal = Lpuart_Lin_Ip_CheckReadbackByte (readbackByte.9_13, sendByte);
  # DEBUG BEGIN_STMT
  goto <bb 14>; [INV]

  <bb 13> :
  # DEBUG BEGIN_STMT
  startTime.10_14 = startTime;
  timeoutTicks.11_15 = timeoutTicks;
  _16 = Lpuart_Lin_Ip_TimeoutExpired (startTime.10_14, timeoutTicks.11_15, 0);
  _17 = ~_16;
  if (_17 != 0)
    goto <bb 11>; [INV]
  else
    goto <bb 14>; [INV]

  <bb 14> :
  # DEBUG BEGIN_STMT
  byteCnt.12_18 = byteCnt;
  byteCnt = byteCnt.12_18 + 1;
  if (u8TxSize > byteCnt.12_18)
    goto <bb 15>; [INV]
  else
    goto <bb 16>; [INV]

  <bb 15> :
  if (retVal == 0)
    goto <bb 4>; [INV]
  else
    goto <bb 16>; [INV]

  <bb 16> :
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_GotoIdleState (u32Instance);

  <bb 17> :
  # DEBUG BEGIN_STMT
  D.5013 = retVal;
  readbackByte = {CLOBBER};
  startTime = {CLOBBER};
  timeoutTicks = {CLOBBER};
  return D.5013;

}


Lpuart_Lin_Ip_AsyncSendFrameData (const uint32 u32Instance, const uint8 * pTxBuff, const uint8 u8TxSize)
{
  const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig;
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  struct LPUART_Type * base;
  Lpuart_Lin_Ip_StatusType retVal;
  Lpuart_Lin_Ip_StatusType D.4982;

  <bb 2> :
  # DEBUG BEGIN_STMT
  retVal = 0;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  linCurrentState = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance];
  # DEBUG BEGIN_STMT
  base = Lpuart_Lin_Ip_apxBases[u32Instance];
  # DEBUG BEGIN_STMT
  retVal = Lpuart_Lin_Ip_StatusBeforeTransfer (u8TxSize, linCurrentState);
  # DEBUG BEGIN_STMT
  if (retVal != 0)
    goto <bb 4>; [INV]
  else
    goto <bb 3>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  _1 = linCurrentState->currentPid;
  _2 = Lpuart_Lin_Ip_MakeChecksumByte (u32Instance, pTxBuff, u8TxSize, _1);
  linCurrentState->checkSum = _2;
  # DEBUG BEGIN_STMT
  SchM_Enter_Lin_LIN_EXCLUSIVE_AREA_00 ();
  # DEBUG BEGIN_STMT
  linCurrentState->txBuff = pTxBuff;
  # DEBUG BEGIN_STMT
  _3 = u8TxSize + 1;
  linCurrentState->txSize = _3;
  # DEBUG BEGIN_STMT
  linCurrentState->cntByte = 0;
  # DEBUG BEGIN_STMT
  linCurrentState->currentNodeState = 9;
  # DEBUG BEGIN_STMT
  linCurrentState->currentEventId = 0;
  # DEBUG BEGIN_STMT
  linCurrentState->isBusBusy = 1;
  # DEBUG BEGIN_STMT
  linCurrentState->isTxBusy = 1;
  # DEBUG BEGIN_STMT
  SchM_Exit_Lin_LIN_EXCLUSIVE_AREA_00 ();
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetBreakCharDetectLength (base, 0);
  # DEBUG BEGIN_STMT
  pUserConfig = Lpuart_Lin_Ip_apxUserConfigs[u32Instance];
  # DEBUG BEGIN_STMT
  _4 = pUserConfig->u32ResponseTimeoutValue;
  _5 = (long unsigned int) u8TxSize;
  _6 = _5 + 1;
  _7 = _4 * _6;
  _8 = _7 / 500;
  _9 = _8 + 1;
  Lpuart_Lin_Ip_SetTimeoutCounter (u32Instance, _9);
  # DEBUG BEGIN_STMT
  _10 = linCurrentState->txBuff;
  _11 = *_10;
  Lpuart_Lin_Ip_HwPutchar (base, _11);

  <bb 4> :
  # DEBUG BEGIN_STMT
  D.4982 = retVal;
  return D.4982;

}


Lpuart_Lin_Ip_Deinit (const uint32 u32Instance)
{
  uint32 timeoutTicks;
  uint32 startTime;
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  struct LPUART_Type * base;

  <bb 2> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  base = Lpuart_Lin_Ip_apxBases[u32Instance];
  # DEBUG BEGIN_STMT
  linCurrentState = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance];
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_StartTimeout (&startTime, &timeoutTicks, 65535, 0);

  <bb 3> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = Lpuart_Lin_Ip_HwGetStatusFlag (base, 131094);
  if (_1 != 0)
    goto <bb 5>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  startTime.6_2 = startTime;
  timeoutTicks.7_3 = timeoutTicks;
  _4 = Lpuart_Lin_Ip_TimeoutExpired (startTime.6_2, timeoutTicks.7_3, 0);
  _5 = ~_4;
  if (_5 != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 5> :
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetTransmitterCmd (base, 0);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetReceiverCmd (base, 0);
  # DEBUG BEGIN_STMT
  linCurrentState->currentNodeState = 0;
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_apxStateStructureArray[u32Instance] = 0B;
  startTime = {CLOBBER};
  timeoutTicks = {CLOBBER};
  return;

}


Lpuart_Lin_Ip_Init (const uint32 u32Instance, const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig)
{
  struct Lpuart_Lin_Ip_StateStructType * pCrtStateStruct;
  struct LPUART_Type * base;

  <bb 2> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  base = Lpuart_Lin_Ip_apxBases[u32Instance];
  # DEBUG BEGIN_STMT
  pCrtStateStruct = pUserConfig->pStateStruct;
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_apxUserConfigs[u32Instance] = pUserConfig;
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwInit (base);
  # DEBUG BEGIN_STMT
  _1 = pUserConfig->autobaudEnable;
  if (_1 != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 3> :
  _2 = pUserConfig->nodeFunction;
  _3 = ~_2;
  if (_3 != 0)
    goto <bb 4>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  pCrtStateStruct->fallingEdgeInterruptCount = 0;
  # DEBUG BEGIN_STMT
  pCrtStateStruct->baudrateEvalEnable = 1;

  <bb 5> :
  # DEBUG BEGIN_STMT
  _4 = pUserConfig->u32OverSamplingRatio;
  if (_4 <= 7)
    goto <bb 6>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 6> :
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwEnableBothEdgeSamplingCmd (base);

  <bb 7> :
  # DEBUG BEGIN_STMT
  _5 = pUserConfig->u32OverSamplingRatio;
  _6 = _5 + 4294967295;
  Lpuart_Lin_Ip_HwSetOversamplingRatio (base, _6);
  # DEBUG BEGIN_STMT
  _7 = pUserConfig->u32BaudRateDivisor;
  Lpuart_Lin_Ip_HwSetBaudRateDivisor (base, _7);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetBitCountPerChar (base, 0, 0);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetParityMode (base, 0);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetStopBitCount (base, 0);
  # DEBUG BEGIN_STMT
  _8 = pUserConfig->nodeFunction;
  if (_8 != 0)
    goto <bb 8>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 8> :
  # DEBUG BEGIN_STMT
  _9 = pUserConfig->u8BreakLength;
  Lpuart_Lin_Ip_HwSetBreakCharTransmitLength (base, _9);
  # DEBUG BEGIN_STMT
  _10 = pUserConfig->u8BreakLengthDetect;
  Lpuart_Lin_Ip_HwSetBreakCharDetectLength (base, _10);
  goto <bb 10>; [INV]

  <bb 9> :
  # DEBUG BEGIN_STMT
  _11 = pUserConfig->u8BreakLengthDetect;
  Lpuart_Lin_Ip_HwSetBreakCharDetectLength (base, _11);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base, 65551, 1);

  <bb 10> :
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwClearStatusFlag (base, 0);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base, 196629, 0);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base, 196633, 1);
  # DEBUG BEGIN_STMT
  pCrtStateStruct->currentNodeState = 2;
  # DEBUG BEGIN_STMT
  pCrtStateStruct->isTxBusy = 0;
  # DEBUG BEGIN_STMT
  pCrtStateStruct->isRxBusy = 0;
  # DEBUG BEGIN_STMT
  pCrtStateStruct->isBusBusy = 0;
  # DEBUG BEGIN_STMT
  pCrtStateStruct->timeoutCounterFlag = 0;
  # DEBUG BEGIN_STMT
  pCrtStateStruct->timeoutCounter = 0;
  # DEBUG BEGIN_STMT
  _12 = pUserConfig->classicPID;
  pCrtStateStruct->classicPID = _12;
  # DEBUG BEGIN_STMT
  _13 = pUserConfig->numOfClassicPID;
  pCrtStateStruct->numOfClassicPID = _13;
  # DEBUG BEGIN_STMT
  _14 = pUserConfig->u8WakeupByte;
  Lpuart_Lin_Ip_au8WakeupSignal[u32Instance] = _14;
  # DEBUG BEGIN_STMT
  _15 = pUserConfig->autobaudEnable;
  _16 = ~_15;
  if (_16 != 0)
    goto <bb 12>; [INV]
  else
    goto <bb 11>; [INV]

  <bb 11> :
  _17 = pUserConfig->nodeFunction;
  if (_17 != 0)
    goto <bb 12>; [INV]
  else
    goto <bb 13>; [INV]

  <bb 12> :
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetTransmitterCmd (base, 1);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetReceiverCmd (base, 1);

  <bb 13> :
  # DEBUG BEGIN_STMT
  _18 = pUserConfig->pStateStruct;
  Lpuart_Lin_Ip_apxStateStructureArray[u32Instance] = _18;
  return;

}


Lpuart_Lin_Ip_ProcessWakeupDetect (const uint32 u32Instance)
{
  struct LPUART_Type * base;
  const struct Lpuart_Lin_Ip_StateStructType * linCurrentState;

  <bb 2> :
  # DEBUG BEGIN_STMT
  linCurrentState = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance];
  # DEBUG BEGIN_STMT
  base = Lpuart_Lin_Ip_apxBases[u32Instance];
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwClearStatusFlag (base, 131102);
  # DEBUG BEGIN_STMT
  _1 = linCurrentState->currentNodeState;
  _2 = (int) _1;
  switch (_2) <default: <L6> [INV], case 1: <L0> [INV], case 4: <L1> [INV]>

  <bb 3> :
<L0>:
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_CheckWakeupSignal (u32Instance);
  # DEBUG BEGIN_STMT
  goto <bb 6>; [INV]

  <bb 4> :
<L1>:
  # DEBUG BEGIN_STMT
  _3 = linCurrentState->baudrateEvalEnable;
  if (_3 != 0)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_AutoBaudCapture (u32Instance);

  <bb 6> :
<L6>:
  return;

}


Lpuart_Lin_Ip_AutoBaudCapture (const uint32 u32Instance)
{
  struct LPUART_Type * base;
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig;
  uint8 wakeupByte;
  uint32 masterBaudrateDivisor;
  uint32 tickPerMicros;
  uint32 u32ElapsedTicks;
  static uint8 fallingEgdeCount;
  static uint32 currentTick;

  <bb 2> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  masterBaudrateDivisor = 0;
  # DEBUG BEGIN_STMT
  wakeupByte = 248;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  linCurrentState = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance];
  # DEBUG BEGIN_STMT
  base = Lpuart_Lin_Ip_apxBases[u32Instance];
  # DEBUG BEGIN_STMT
  pUserConfig = Lpuart_Lin_Ip_apxUserConfigs[u32Instance];
  # DEBUG BEGIN_STMT
  fallingEgdeCount.25_1 = fallingEgdeCount;
  fallingEgdeCount.26_2 = fallingEgdeCount.25_1;
  _3 = fallingEgdeCount.26_2 + 1;
  fallingEgdeCount = _3;
  if (fallingEgdeCount.26_2 != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 25>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  u32ElapsedTicks = OsIf_GetElapsed (&currentTick, 0);
  # DEBUG BEGIN_STMT
  tickPerMicros = OsIf_MicrosToTicks (1000000, 0);
  # DEBUG BEGIN_STMT
  _4 = tickPerMicros * 51041;
  if (u32ElapsedTicks >= _4)
    goto <bb 4>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 4> :
  _5 = tickPerMicros * 53125;
  if (u32ElapsedTicks <= _5)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  # DEBUG BEGIN_STMT
  masterBaudrateDivisor = 19200;
  # DEBUG BEGIN_STMT
  wakeupByte = 128;

  <bb 6> :
  # DEBUG BEGIN_STMT
  _6 = tickPerMicros * 68055;
  if (u32ElapsedTicks >= _6)
    goto <bb 7>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 7> :
  _7 = tickPerMicros * 70833;
  if (u32ElapsedTicks <= _7)
    goto <bb 8>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 8> :
  # DEBUG BEGIN_STMT
  masterBaudrateDivisor = 14400;
  # DEBUG BEGIN_STMT
  wakeupByte = 128;

  <bb 9> :
  # DEBUG BEGIN_STMT
  _8 = tickPerMicros * 102083;
  if (u32ElapsedTicks >= _8)
    goto <bb 10>; [INV]
  else
    goto <bb 12>; [INV]

  <bb 10> :
  _9 = tickPerMicros * 106250;
  if (u32ElapsedTicks <= _9)
    goto <bb 11>; [INV]
  else
    goto <bb 12>; [INV]

  <bb 11> :
  # DEBUG BEGIN_STMT
  masterBaudrateDivisor = 9600;

  <bb 12> :
  # DEBUG BEGIN_STMT
  _10 = tickPerMicros * 204166;
  if (u32ElapsedTicks >= _10)
    goto <bb 13>; [INV]
  else
    goto <bb 15>; [INV]

  <bb 13> :
  _11 = tickPerMicros * 212500;
  if (u32ElapsedTicks <= _11)
    goto <bb 14>; [INV]
  else
    goto <bb 15>; [INV]

  <bb 14> :
  # DEBUG BEGIN_STMT
  masterBaudrateDivisor = 4800;

  <bb 15> :
  # DEBUG BEGIN_STMT
  _12 = tickPerMicros * 408333;
  if (u32ElapsedTicks >= _12)
    goto <bb 16>; [INV]
  else
    goto <bb 18>; [INV]

  <bb 16> :
  _13 = tickPerMicros * 425000;
  if (u32ElapsedTicks <= _13)
    goto <bb 17>; [INV]
  else
    goto <bb 18>; [INV]

  <bb 17> :
  # DEBUG BEGIN_STMT
  masterBaudrateDivisor = 2400;

  <bb 18> :
  # DEBUG BEGIN_STMT
  if (masterBaudrateDivisor != 0)
    goto <bb 19>; [INV]
  else
    goto <bb 20>; [INV]

  <bb 19> :
  # DEBUG BEGIN_STMT
  _14 = pUserConfig->u32ChannelClock;
  _15 = pUserConfig->u32OverSamplingRatio;
  _16 = masterBaudrateDivisor * _15;
  masterBaudrateDivisor = _14 / _16;

  <bb 20> :
  # DEBUG BEGIN_STMT
  if (masterBaudrateDivisor != 0)
    goto <bb 21>; [INV]
  else
    goto <bb 26>; [INV]

  <bb 21> :
  _17 = pUserConfig->u32BaudRateDivisor;
  if (masterBaudrateDivisor != _17)
    goto <bb 22>; [INV]
  else
    goto <bb 26>; [INV]

  <bb 22> :
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetBaudRateDivisor (base, masterBaudrateDivisor);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_au8WakeupSignal[u32Instance] = wakeupByte;
  # DEBUG BEGIN_STMT
  linCurrentState->currentEventId = 2;
  # DEBUG BEGIN_STMT
  linCurrentState->baudrateEvalEnable = 0;
  # DEBUG BEGIN_STMT
  _18 = pUserConfig->Callback;
  if (_18 != 0B)
    goto <bb 23>; [INV]
  else
    goto <bb 24>; [INV]

  <bb 23> :
  # DEBUG BEGIN_STMT
  _19 = pUserConfig->Callback;
  _19 (u32Instance, linCurrentState);

  <bb 24> :
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base, 65550, 0);
  # DEBUG BEGIN_STMT
  linCurrentState->currentNodeState = 6;
  # DEBUG BEGIN_STMT
  linCurrentState->currentEventId = 4;
  goto <bb 26>; [INV]

  <bb 25> :
  # DEBUG BEGIN_STMT
  _20 = OsIf_GetCounter (0);
  currentTick = _20;

  <bb 26> :
  return;

}


Lpuart_Lin_Ip_MakeChecksumByte (const uint32 u32Instance, const uint8 * buffer, const uint8 sizeBuffer, const uint8 PID)
{
  const uint8 numOfClassicPID;
  const struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  uint8 retVal;
  const uint8 * classicPID;
  uint8 checkSum;
  uint8 D.4999;

  <bb 2> :
  # DEBUG BEGIN_STMT
  checkSum = PID;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  retVal = 0;
  # DEBUG BEGIN_STMT
  linCurrentState = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance];
  # DEBUG BEGIN_STMT
  numOfClassicPID = linCurrentState->numOfClassicPID;
  # DEBUG BEGIN_STMT
  classicPID = linCurrentState->classicPID;
  # DEBUG BEGIN_STMT
  if (numOfClassicPID == 255)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  checkSum = 0;
  goto <bb 10>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  if (classicPID != 0B)
    goto <bb 5>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 5> :
  # DEBUG BEGIN_STMT
  retVal = 0;
  goto <bb 9>; [INV]

  <bb 6> :
  # DEBUG BEGIN_STMT
  _1 = (sizetype) retVal;
  _2 = classicPID + _1;
  _3 = *_2;
  if (checkSum == _3)
    goto <bb 7>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 7> :
  # DEBUG BEGIN_STMT
  checkSum = 0;
  # DEBUG BEGIN_STMT
  goto <bb 10>; [INV]

  <bb 8> :
  # DEBUG BEGIN_STMT
  retVal.8_4 = retVal;
  retVal = retVal.8_4 + 1;

  <bb 9> :
  # DEBUG BEGIN_STMT
  if (retVal < numOfClassicPID)
    goto <bb 6>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 10> :
  # DEBUG BEGIN_STMT
  retVal = Lin_Ip_MakeChecksumByte (buffer, sizeBuffer, checkSum);
  # DEBUG BEGIN_STMT
  D.4999 = retVal;
  return D.4999;

}


Lpuart_Lin_Ip_FrameErrorIrqHandler (const uint32 u32Instance)
{
  uint8 tmpByte;
  const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig;
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  struct LPUART_Type * base;

  <bb 2> :
  # DEBUG BEGIN_STMT
  base = Lpuart_Lin_Ip_apxBases[u32Instance];
  # DEBUG BEGIN_STMT
  linCurrentState = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance];
  # DEBUG BEGIN_STMT
  pUserConfig = Lpuart_Lin_Ip_apxUserConfigs[u32Instance];
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwClearStatusFlag (base, 131089);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwGetchar (base, &tmpByte);
  # DEBUG BEGIN_STMT
  linCurrentState->currentEventId = 8;
  # DEBUG BEGIN_STMT
  _1 = linCurrentState->currentNodeState;
  if (_1 == 9)
    goto <bb 3>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  _2 = pUserConfig->Callback;
  if (_2 != 0B)
    goto <bb 4>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  _3 = pUserConfig->Callback;
  _3 (u32Instance, linCurrentState);
  goto <bb 8>; [INV]

  <bb 5> :
  # DEBUG BEGIN_STMT
  _4 = linCurrentState->currentNodeState;
  if (_4 == 7)
    goto <bb 6>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 6> :
  # DEBUG BEGIN_STMT
  _5 = pUserConfig->Callback;
  if (_5 != 0B)
    goto <bb 7>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 7> :
  # DEBUG BEGIN_STMT
  _6 = pUserConfig->Callback;
  _6 (u32Instance, linCurrentState);

  <bb 8> :
  tmpByte = {CLOBBER};
  return;

}


Lpuart_Lin_Ip_StatusBeforeTransfer (const uint8 u8Size, const struct Lpuart_Lin_Ip_StateStructType * linCurrentState)
{
  boolean checkSleepMode;
  Lpuart_Lin_Ip_StatusType retVal;
  Lpuart_Lin_Ip_StatusType D.4990;

  <bb 2> :
  # DEBUG BEGIN_STMT
  retVal = 0;
  # DEBUG BEGIN_STMT
  _1 = linCurrentState->currentNodeState;
  checkSleepMode = _1 == 1;
  # DEBUG BEGIN_STMT
  _2 = u8Size + 255;
  if (_2 > 7)
    goto <bb 4>; [INV]
  else
    goto <bb 3>; [INV]

  <bb 3> :
  if (checkSleepMode != 0)
    goto <bb 4>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  retVal = 1;
  goto <bb 7>; [INV]

  <bb 5> :
  # DEBUG BEGIN_STMT
  _3 = linCurrentState->isBusBusy;
  if (_3 != 0)
    goto <bb 6>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 6> :
  # DEBUG BEGIN_STMT
  retVal = 2;

  <bb 7> :
  # DEBUG BEGIN_STMT
  D.4990 = retVal;
  return D.4990;

}


Lpuart_Lin_Ip_GetBytetoBuffer (const uint8 byteCnt, const uint8 u8BuffSize, uint8 * pBuff, const uint32 u32Instance)
{
  uint8 checkSum;
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  const struct LPUART_Type * base;
  Lpuart_Lin_Ip_StatusType retVal;
  Lpuart_Lin_Ip_StatusType D.5058;

  <bb 2> :
  # DEBUG BEGIN_STMT
  retVal = 0;
  # DEBUG BEGIN_STMT
  base = Lpuart_Lin_Ip_apxBases[u32Instance];
  # DEBUG BEGIN_STMT
  linCurrentState = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance];
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (byteCnt < u8BuffSize)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  _1 = (sizetype) byteCnt;
  _2 = pBuff + _1;
  Lpuart_Lin_Ip_HwGetchar (base, _2);
  goto <bb 7>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwGetchar (base, &checkSum);
  # DEBUG BEGIN_STMT
  _3 = linCurrentState->currentPid;
  _4 = Lpuart_Lin_Ip_MakeChecksumByte (u32Instance, pBuff, u8BuffSize, _3);
  checkSum.19_5 = checkSum;
  if (_4 != checkSum.19_5)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  # DEBUG BEGIN_STMT
  linCurrentState->currentEventId = 10;
  # DEBUG BEGIN_STMT
  retVal = 1;
  goto <bb 7>; [INV]

  <bb 6> :
  # DEBUG BEGIN_STMT
  linCurrentState->currentEventId = 12;
  # DEBUG BEGIN_STMT
  linCurrentState->currentNodeState = 8;
  # DEBUG BEGIN_STMT
  retVal = 0;

  <bb 7> :
  # DEBUG BEGIN_STMT
  D.5058 = retVal;
  checkSum = {CLOBBER};
  return D.5058;

}


Lpuart_Lin_Ip_CheckReadbackByte (const uint8 readbackByte, const uint8 sendByte)
{
  Lpuart_Lin_Ip_StatusType retVal;
  Lpuart_Lin_Ip_StatusType D.5019;

  <bb 2> :
  # DEBUG BEGIN_STMT
  retVal = 0;
  # DEBUG BEGIN_STMT
  if (sendByte != readbackByte)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  retVal = 1;

  <bb 4> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  D.5019 = retVal;
  return D.5019;

}


Lpuart_Lin_Ip_HwQueueBreakField (struct LPUART_Type * base)
{
  <bb 2> :
  # DEBUG BEGIN_STMT
  base->DATA = 8192;
  return;

}


Lpuart_Lin_Ip_HwSetBreakCharDetectLength (struct LPUART_Type * base, uint8 length)
{
  <bb 2> :
  # DEBUG BEGIN_STMT
  SchM_Enter_Lin_LIN_EXCLUSIVE_AREA_04 ();
  # DEBUG BEGIN_STMT
  _1 = base->STAT;
  _2 = _1 & 1038106623;
  _3 = (long unsigned int) length;
  _4 = _3 << 25;
  _5 = _2 | _4;
  base->STAT = _5;
  # DEBUG BEGIN_STMT
  SchM_Exit_Lin_LIN_EXCLUSIVE_AREA_04 ();
  return;

}


Lpuart_Lin_Ip_HwSetBreakCharTransmitLength (struct LPUART_Type * base, uint8 length)
{
  <bb 2> :
  # DEBUG BEGIN_STMT
  _1 = base->STAT;
  _2 = _1 & 1004552191;
  _3 = (long unsigned int) length;
  _4 = _3 << 26;
  _5 = _2 | _4;
  base->STAT = _5;
  return;

}


Lpuart_Lin_Ip_HwSetRxDataPolarity (struct LPUART_Type * base, boolean polarity)
{
  long unsigned int iftmp.22;

  <bb 2> :
  # DEBUG BEGIN_STMT
  _1 = base->STAT;
  _2 = _1 & 803225599;
  if (polarity != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  iftmp.22 = 268435456;
  goto <bb 5>; [INV]

  <bb 4> :
  iftmp.22 = 0;

  <bb 5> :
  _3 = iftmp.22 | _2;
  base->STAT = _3;
  return;

}


Lpuart_Lin_Ip_HwGetRxDataPolarity (const struct LPUART_Type * base)
{
  boolean D.5149;

  <bb 2> :
  # DEBUG BEGIN_STMT
  _1 = base->STAT;
  _2 = _1 >> 28;
  _3 = _2 & 1;
  D.5149 = _3 != 0;
  return D.5149;

}


Lpuart_Lin_Ip_HwGetchar (const struct LPUART_Type * base, uint8 * readData)
{
  <bb 2> :
  # DEBUG BEGIN_STMT
  _1 = base->DATA;
  _2 = (unsigned char) _1;
  *readData = _2;
  return;

}


Lpuart_Lin_Ip_HwPutchar (struct LPUART_Type * base, uint8 data)
{
  volatile uint8 * dataRegBytes;

  <bb 2> :
  # DEBUG BEGIN_STMT
  dataRegBytes = &base->DATA;
  # DEBUG BEGIN_STMT
  *dataRegBytes = data;
  return;

}


Lpuart_Lin_Ip_HwSetStopBitCount (struct LPUART_Type * base, Lpuart_Lin_Ip_StopBitCountType stopBitCount)
{
  <bb 2> :
  # DEBUG BEGIN_STMT
  _1 = base->BAUD;
  _2 = _1 & 4294959103;
  _3 = (long unsigned int) stopBitCount;
  _4 = _3 << 13;
  _5 = _2 | _4;
  base->BAUD = _5;
  return;

}


Lpuart_Lin_Ip_HwEnableBothEdgeSamplingCmd (struct LPUART_Type * base)
{
  <bb 2> :
  # DEBUG BEGIN_STMT
  _1 = base->BAUD;
  _2 = _1 | 131072;
  base->BAUD = _2;
  return;

}


Lpuart_Lin_Ip_HwSetOversamplingRatio (struct LPUART_Type * base, uint32 overSamplingRatio)
{
  uint32 baudRegValTemp;

  <bb 2> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  baudRegValTemp = base->BAUD;
  # DEBUG BEGIN_STMT
  baudRegValTemp = baudRegValTemp & 3774873599;
  # DEBUG BEGIN_STMT
  _1 = overSamplingRatio << 24;
  _2 = _1 & 520093696;
  baudRegValTemp = baudRegValTemp | _2;
  # DEBUG BEGIN_STMT
  base->BAUD = baudRegValTemp;
  return;

}


Lpuart_Lin_Ip_HwSetBaudRateDivisor (struct LPUART_Type * base, uint32 baudRateDivisor)
{
  uint32 baudRegValTemp;

  <bb 2> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  baudRegValTemp = base->BAUD;
  # DEBUG BEGIN_STMT
  baudRegValTemp = baudRegValTemp & 4294959104;
  # DEBUG BEGIN_STMT
  _1 = baudRateDivisor & 8191;
  baudRegValTemp = baudRegValTemp | _1;
  # DEBUG BEGIN_STMT
  base->BAUD = baudRegValTemp;
  return;

}


Lpuart_Lin_Ip_HwSetReceiverCmd (struct LPUART_Type * base, boolean enable)
{
  uint32 timeoutTicks;
  uint32 startTime;
  long unsigned int iftmp.3;

  <bb 2> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = base->CTRL;
  _2 = _1 & 4294705151;
  if (enable != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  iftmp.3 = 262144;
  goto <bb 5>; [INV]

  <bb 4> :
  iftmp.3 = 0;

  <bb 5> :
  _3 = iftmp.3 | _2;
  base->CTRL = _3;
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_StartTimeout (&startTime, &timeoutTicks, 65535, 0);

  <bb 6> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _4 = base->CTRL;
  _5 = _4 & 262144;
  _6 = _5 != 0;
  _7 = (int) _6;
  _8 = (int) enable;
  if (_7 != _8)
    goto <bb 6>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 7> :
  # DEBUG BEGIN_STMT
  startTime.4_9 = startTime;
  timeoutTicks.5_10 = timeoutTicks;
  _11 = Lpuart_Lin_Ip_TimeoutExpired (startTime.4_9, timeoutTicks.5_10, 0);
  _12 = ~_11;
  if (_12 != 0)
    goto <bb 6>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 8> :
  startTime = {CLOBBER};
  timeoutTicks = {CLOBBER};
  return;

}


Lpuart_Lin_Ip_HwSetTransmitterCmd (struct LPUART_Type * base, boolean enable)
{
  uint32 timeoutTicks;
  uint32 startTime;
  long unsigned int iftmp.0;

  <bb 2> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = base->CTRL;
  _2 = _1 & 4294443007;
  if (enable != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  iftmp.0 = 524288;
  goto <bb 5>; [INV]

  <bb 4> :
  iftmp.0 = 0;

  <bb 5> :
  _3 = iftmp.0 | _2;
  base->CTRL = _3;
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_StartTimeout (&startTime, &timeoutTicks, 65535, 0);

  <bb 6> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _4 = base->CTRL;
  _5 = _4 & 524288;
  _6 = _5 != 0;
  _7 = (int) _6;
  _8 = (int) enable;
  if (_7 != _8)
    goto <bb 6>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 7> :
  # DEBUG BEGIN_STMT
  startTime.1_9 = startTime;
  timeoutTicks.2_10 = timeoutTicks;
  _11 = Lpuart_Lin_Ip_TimeoutExpired (startTime.1_9, timeoutTicks.2_10, 0);
  _12 = ~_11;
  if (_12 != 0)
    goto <bb 6>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 8> :
  startTime = {CLOBBER};
  timeoutTicks = {CLOBBER};
  return;

}


