mirror of
https://github.com/Dev-KATECH/ADM.git
synced 2026-05-17 09:53:59 +09:00
3633 lines
98 KiB
Plaintext
3633 lines
98 KiB
Plaintext
|
|
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) @06bd8e00
|
|
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) @06bd8d20
|
|
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) @06be6948
|
|
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) @06bd8b60
|
|
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) @06be68b8
|
|
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) @06bd8460
|
|
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) @06bd80e0
|
|
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) @06bd8000
|
|
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) @06bc0d20
|
|
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) @06bc02a0
|
|
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) @06bc01c0
|
|
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) @06baeb60
|
|
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) @06bae8c0
|
|
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) @06bae7e0
|
|
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) @06bae620
|
|
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) @06bae380
|
|
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) @06bae2a0
|
|
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) @06bae0e0
|
|
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) @06bae000
|
|
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) @06b45a80
|
|
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) @06b459a0
|
|
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) @06b458c0
|
|
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) @06b457e0
|
|
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) @06b45700
|
|
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) @06b452a0
|
|
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) @06b45000
|
|
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) @06b34b60
|
|
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) @06b34620
|
|
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) @06b340e0
|
|
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) @06b34d20
|
|
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) @06b34a80
|
|
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) @06b347e0
|
|
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) @06b34540
|
|
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) @06b342a0
|
|
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) @06b34000
|
|
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) @06b06b60
|
|
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) @06b06620
|
|
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) @06b060e0
|
|
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) @06b06d20
|
|
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) @06b06a80
|
|
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) @06b067e0
|
|
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) @06b06540
|
|
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) @06b062a0
|
|
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) @06b06000
|
|
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) @06a02b60
|
|
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) @06a02620
|
|
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) @06a020e0
|
|
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) @06a02d20
|
|
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) @06a02a80
|
|
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) @06a027e0
|
|
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) @06a02540
|
|
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) @06a022a0
|
|
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) @06a02000
|
|
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) @069fdee0
|
|
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) @069f92d0
|
|
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) @069f9240
|
|
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) @069f91b0
|
|
Type: variable definition analyzed
|
|
Visibility: externally_visible public
|
|
References:
|
|
Referring:
|
|
Availability: available
|
|
Varpool flags:
|
|
Lpuart_Lin_Ip_apxBases/16 (Lpuart_Lin_Ip_apxBases) @069f9120
|
|
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) @069f9048
|
|
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) @069ea460
|
|
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) @069ea0e0
|
|
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) @069e6e00
|
|
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) @069e6b60
|
|
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) @069e68c0
|
|
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) @069e6460
|
|
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) @069e61c0
|
|
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) @0697fd20
|
|
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) @0697f8c0
|
|
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) @0697f380
|
|
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) @06978d20
|
|
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) @06978a80
|
|
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) @069787e0
|
|
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 (¤tTick, 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;
|
|
|
|
}
|
|
|
|
|