Lpi2c_Ip_SetMasterHighSpeedMode (uint32 u32Instance, boolean bHighSpeedEnabled) { struct Lpi2c_Ip_MasterStateType * master; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT master = g_lpi2cMasterStatePtr[u32Instance]; # DEBUG BEGIN_STMT if (bHighSpeedEnabled != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT master->operatingMode = 3; goto ; [INV] : # DEBUG BEGIN_STMT master->operatingMode = 0; : return; } Lpi2c_Ip_SetSlaveCallback (uint32 u32Instance, void (*Lpi2c_Ip_SlaveCallbackType) (Lpi2c_Ip_SlaveEventType, uint8) slaveCallback) { struct Lpi2c_Ip_SlaveStateType * slave; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT slave = g_lpi2cSlaveStatePtr[u32Instance]; # DEBUG BEGIN_STMT slave->slaveCallback = slaveCallback; return; } Lpi2c_Ip_SetMasterCallback (uint32 u32Instance, void (*Lpi2c_Ip_MasterCallbackType) (Lpi2c_Ip_MasterEventType, uint8) masterCallback) { struct Lpi2c_Ip_MasterStateType * master; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT master = g_lpi2cMasterStatePtr[u32Instance]; # DEBUG BEGIN_STMT master->masterCallback = masterCallback; return; } Lpi2c_Ip_ModuleIRQHandler (uint32 instance) { uint32 u32SlaveIsrStatus; uint32 u32SlaveIsrEnable; uint32 u32MasterIsrStatus; uint32 u32MasterIsrEnable; struct LPI2C_Type * baseAddr; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT u32MasterIsrEnable = 0; # DEBUG BEGIN_STMT u32MasterIsrStatus = 0; # DEBUG BEGIN_STMT u32SlaveIsrEnable = 0; # DEBUG BEGIN_STMT u32SlaveIsrStatus = 0; # DEBUG BEGIN_STMT baseAddr = g_lpi2cBase[instance]; # DEBUG BEGIN_STMT _1 = g_lpi2cSlaveStatePtr[instance]; if (_1 != 0B) goto ; [INV] else goto ; [INV] : _2 = g_lpi2cMasterStatePtr[instance]; if (_2 != 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _3 = baseAddr->MIER; u32MasterIsrEnable = _3 & 32515; # DEBUG BEGIN_STMT _4 = baseAddr->MSR; u32MasterIsrStatus = _4 & 32515; # DEBUG BEGIN_STMT _5 = baseAddr->SIER; u32SlaveIsrEnable = _5 & 65295; # DEBUG BEGIN_STMT _6 = baseAddr->SSR; u32SlaveIsrStatus = _6 & 65295; # DEBUG BEGIN_STMT if (u32MasterIsrEnable != 0) goto ; [INV] else goto ; [INV] : if (u32MasterIsrStatus != 0) goto ; [INV] else goto ; [INV] : if (u32SlaveIsrEnable != 0) goto ; [INV] else goto ; [INV] : if (u32SlaveIsrStatus != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _7 = g_lpi2cSlaveStatePtr[instance]; if (_7 == 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT Lpi2c_Ip_MasterIRQHandler (instance); goto ; [INV] : # DEBUG BEGIN_STMT Lpi2c_Ip_SlaveIRQHandler (instance); goto ; [INV] : # DEBUG BEGIN_STMT _8 = baseAddr->MSR; baseAddr->MSR = _8; # DEBUG BEGIN_STMT _9 = baseAddr->SSR; baseAddr->SSR = _9; goto ; [INV] : # DEBUG BEGIN_STMT _10 = baseAddr->MSR; baseAddr->MSR = _10; # DEBUG BEGIN_STMT _11 = baseAddr->SSR; baseAddr->SSR = _11; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return; } Lpi2c_Ip_SlaveIRQHandler (uint32 instance) { boolean repeatStartDetect; boolean stopDetect; struct Lpi2c_Ip_SlaveStateType * slave; struct LPI2C_Type * baseAddr; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT stopDetect = 0; repeatStartDetect = 0; # DEBUG BEGIN_STMT baseAddr = g_lpi2cBase[instance]; # DEBUG BEGIN_STMT slave = g_lpi2cSlaveStatePtr[instance]; # DEBUG BEGIN_STMT Lpi2c_Ip_SlaveCheckDataEvent (instance, baseAddr, slave); # DEBUG BEGIN_STMT stopDetect = LPI2C_Get_SlaveSTOPDetectEvent (baseAddr); # DEBUG BEGIN_STMT repeatStartDetect = LPI2C_Get_SlaveRepeatedStartEvent (baseAddr); # DEBUG BEGIN_STMT if (repeatStartDetect != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _1 = slave->repeatedStarts; _2 = _1; _3 = _2 + 1; slave->repeatedStarts = _3; # DEBUG BEGIN_STMT _4 = slave->repeatedStarts; if (_4 == 1) goto ; [INV] else goto ; [INV] : _5 = slave->is10bitAddress; if (_5 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT repeatStartDetect = 0; # DEBUG BEGIN_STMT LPI2C_Clear_SlaveRepeatedStartEvent (baseAddr); : # DEBUG BEGIN_STMT if (stopDetect != 0) goto ; [INV] else goto ; [INV] : if (repeatStartDetect != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT Lpi2c_Ip_SlaveStopDetectHandler (baseAddr, slave); # DEBUG BEGIN_STMT if (stopDetect != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT slave->repeatedStarts = 0; : # DEBUG BEGIN_STMT Lpi2c_Ip_SlaveCheckErrorEvent (baseAddr, slave); return; } Lpi2c_Ip_SlaveCheckErrorEvent (struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_SlaveStateType * slave) { : # DEBUG BEGIN_STMT _1 = LPI2C_Get_SlaveBitErrorEvent (baseAddr); if (_1 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT Lpi2c_Ip_SlaveBitErrorEventHandler (baseAddr, slave); : return; } Lpi2c_Ip_SlaveBitErrorEventHandler (struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_SlaveStateType * slave) { : # DEBUG BEGIN_STMT slave->status = 1; # DEBUG BEGIN_STMT LPI2C_Clear_SlaveBitErrorEvent (baseAddr); # DEBUG BEGIN_STMT LPI2C_Set_SlaveInt (baseAddr, 1, 0); # DEBUG BEGIN_STMT Lpi2c_Ip_SlaveEndTransferHandler (slave, baseAddr); return; } Lpi2c_Ip_SlaveStopDetectHandler (struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_SlaveStateType * slave) { : # DEBUG BEGIN_STMT LPI2C_Clear_SlaveSTOPDetectEvent (baseAddr); # DEBUG BEGIN_STMT LPI2C_Clear_SlaveRepeatedStartEvent (baseAddr); # DEBUG BEGIN_STMT LPI2C_Set_SlaveInt (baseAddr, 1, 0); # DEBUG BEGIN_STMT _1 = slave->status; if (_1 == 2) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT slave->status = 0; : # DEBUG BEGIN_STMT Lpi2c_Ip_SlaveEndTransferHandler (slave, baseAddr); return; } Lpi2c_Ip_SlaveCheckDataEvent (uint32 instance, struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_SlaveStateType * slave) { boolean slaveInterrupt; : # DEBUG BEGIN_STMT slaveInterrupt = 0; # DEBUG BEGIN_STMT _1 = LPI2C_Get_SlaveAddressValidEvent (baseAddr); if (_1 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT Lpi2c_Ip_SlaveHandleAddressValidEvent (instance, baseAddr, slave); : # DEBUG BEGIN_STMT _2 = LPI2C_Get_SlaveTransmitDataEvent (baseAddr); if (_2 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT slaveInterrupt = LPI2C_Get_SlaveInt (baseAddr, 1); # DEBUG BEGIN_STMT if (slaveInterrupt != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT Lpi2c_Ip_SlaveHandleTransmitDataEvent (baseAddr, slave); : # DEBUG BEGIN_STMT _3 = LPI2C_Get_SlaveReceiveDataEvent (baseAddr); if (_3 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT slaveInterrupt = LPI2C_Get_SlaveInt (baseAddr, 2); # DEBUG BEGIN_STMT if (slaveInterrupt != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT Lpi2c_Ip_SlaveHandleReceiveDataEvent (baseAddr, slave); : return; } Lpi2c_Ip_SlaveEndTransferHandler (const struct Lpi2c_Ip_SlaveStateType * slave, struct LPI2C_Type * baseAddr) { : # DEBUG BEGIN_STMT _1 = slave->slaveListening; _2 = ~_1; if (_2 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT Lpi2c_Ip_SlaveEndTransfer (baseAddr); : # DEBUG BEGIN_STMT _3 = slave->slaveCallback; if (_3 != 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _4 = slave->slaveCallback; _5 = slave->callbackParam; _4 (7, _5); : # DEBUG BEGIN_STMT return; } Lpi2c_Ip_SlaveEndTransfer (struct LPI2C_Type * baseAddr) { : # DEBUG BEGIN_STMT LPI2C_Set_SlaveInt (baseAddr, 3847, 0); # DEBUG BEGIN_STMT LPI2C_Set_SlaveEnable (baseAddr, 0); return; } Lpi2c_Ip_SlaveGetTransferStatus (uint32 instance, uint32 * bytesRemaining) { const struct Lpi2c_Ip_SlaveStateType * slave; Lpi2c_Ip_StatusType D.5520; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT slave = g_lpi2cSlaveStatePtr[instance]; # DEBUG BEGIN_STMT if (bytesRemaining != 0B) goto ; [INV] else goto ; [INV] : _1 = slave->transferType; if (_1 == 1) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _2 = slave->bufferSize; *bytesRemaining = _2; : # DEBUG BEGIN_STMT D.5520 = slave->status; return D.5520; } Lpi2c_Ip_SlaveSetBuffer (uint32 instance, uint8 * dataBuff, uint32 dataSize) { struct Lpi2c_Ip_SlaveStateType * slave; Lpi2c_Ip_StatusType D.5514; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT slave = g_lpi2cSlaveStatePtr[instance]; # DEBUG BEGIN_STMT slave->dataBuffer = dataBuff; # DEBUG BEGIN_STMT slave->bufferSize = dataSize; # DEBUG BEGIN_STMT D.5514 = 0; return D.5514; } Lpi2c_Ip_SlaveDeinit (uint32 instance) { const struct Lpi2c_Ip_SlaveStateType * slave; struct LPI2C_Type * baseAddr; Lpi2c_Ip_StatusType D.5504; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT baseAddr = g_lpi2cBase[instance]; # DEBUG BEGIN_STMT slave = g_lpi2cSlaveStatePtr[instance]; # DEBUG BEGIN_STMT _1 = slave->transferType; if (_1 == 0) goto ; [INV] else goto ; [INV] : _2 = slave->slaveListening; if (_2 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT LPI2C_Set_SlaveRxDMA (baseAddr, 0); # DEBUG BEGIN_STMT LPI2C_Set_SlaveTxDMA (baseAddr, 0); : # DEBUG BEGIN_STMT g_lpi2cSlaveStatePtr[instance] = 0B; # DEBUG BEGIN_STMT LPI2C_Set_SlaveEnable (baseAddr, 0); # DEBUG BEGIN_STMT D.5504 = 0; return D.5504; } Lpi2c_Ip_StartListening (uint32 u32Instance) { const struct Lpi2c_Ip_SlaveStateType * slave; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT slave = g_lpi2cSlaveStatePtr[u32Instance]; # DEBUG BEGIN_STMT Lpi2c_Ip_SlaveActivateEvents (u32Instance); # DEBUG BEGIN_STMT return; } Lpi2c_Ip_SlaveInit (uint32 instance, const struct Lpi2c_Ip_SlaveConfigType * userConfigPtr) { struct Lpi2c_Ip_SlaveStateType * slave; struct LPI2C_Type * baseAddr; Lpi2c_Ip_StatusType D.5466; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT baseAddr = g_lpi2cBase[instance]; # DEBUG BEGIN_STMT _1 = userConfigPtr->slaveState; g_lpi2cSlaveStatePtr[instance] = _1; # DEBUG BEGIN_STMT slave = g_lpi2cSlaveStatePtr[instance]; # DEBUG BEGIN_STMT slave->status = 0; # DEBUG BEGIN_STMT _2 = userConfigPtr->slaveCallback; slave->slaveCallback = _2; # DEBUG BEGIN_STMT _3 = userConfigPtr->callbackParam; slave->callbackParam = _3; # DEBUG BEGIN_STMT slave->dataBuffer = 0B; # DEBUG BEGIN_STMT slave->bufferSize = 0; # DEBUG BEGIN_STMT slave->direction = 0; # DEBUG BEGIN_STMT _4 = userConfigPtr->transferType; slave->transferType = _4; # DEBUG BEGIN_STMT _5 = userConfigPtr->dmaTxChannel; slave->dmaTxChannel = _5; # DEBUG BEGIN_STMT _6 = userConfigPtr->dmaRxChannel; slave->dmaRxChannel = _6; # DEBUG BEGIN_STMT slave->isTransferInProgress = 0; # DEBUG BEGIN_STMT _7 = userConfigPtr->is10bitAddr; slave->is10bitAddress = _7; # DEBUG BEGIN_STMT slave->repeatedStarts = 0; # DEBUG BEGIN_STMT _8 = userConfigPtr->slaveListening; slave->slaveListening = _8; # DEBUG BEGIN_STMT LPI2C_Init (baseAddr); # DEBUG BEGIN_STMT _9 = userConfigPtr->slaveAddress; _10 = userConfigPtr->is10bitAddr; Lpi2c_Ip_SlaveConigureAddress (baseAddr, _9, _10); # DEBUG BEGIN_STMT _11 = userConfigPtr->operatingMode; Lpi2c_Ip_SlaveSetOperatingMode (instance, _11); # DEBUG BEGIN_STMT _12 = userConfigPtr->u32GlitchFilterSDA; _13 = userConfigPtr->u32GlitchFilterSCL; Lpi2c_Ip_SlaveConfigureGlitchFilter (baseAddr, _12, _13); # DEBUG BEGIN_STMT _14 = slave->slaveListening; if (_14 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT Lpi2c_Ip_SlaveActivateEvents (instance); : # DEBUG BEGIN_STMT D.5466 = 0; return D.5466; } Lpi2c_Ip_SlaveConfigureGlitchFilter (struct LPI2C_Type * baseAddr, uint32 u32GlitchFilterSDA, uint32 u32GlitchFilterSCL) { : # DEBUG BEGIN_STMT LPI2C_Set_SlaveGlitchFilterSDA (baseAddr, u32GlitchFilterSDA); # DEBUG BEGIN_STMT LPI2C_Set_SlaveGlitchFilterSCL (baseAddr, u32GlitchFilterSCL); return; } Lpi2c_Ip_SlaveConigureAddress (struct LPI2C_Type * baseAddr, uint16 slaveAddr, boolean is10bitAddr) { : # DEBUG BEGIN_STMT LPI2C_Set_SlaveAddr0 (baseAddr, slaveAddr); # DEBUG BEGIN_STMT if (is10bitAddr != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT LPI2C_Set_SlaveAddrConfig (baseAddr, 1); goto ; [INV] : # DEBUG BEGIN_STMT LPI2C_Set_SlaveAddrConfig (baseAddr, 0); : return; } Lpi2c_Ip_SlaveActivateEvents (uint32 instance) { const struct Lpi2c_Ip_SlaveStateType * slave; struct LPI2C_Type * baseAddr; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT baseAddr = g_lpi2cBase[instance]; # DEBUG BEGIN_STMT slave = g_lpi2cSlaveStatePtr[instance]; # DEBUG BEGIN_STMT _1 = slave->transferType; if (_1 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT LPI2C_Set_SlaveInt (baseAddr, 3844, 1); : # DEBUG BEGIN_STMT _2 = slave->transferType; if (_2 == 1) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT LPI2C_Set_SlaveInt (baseAddr, 3846, 1); : # DEBUG BEGIN_STMT LPI2C_Set_SlaveEnable (baseAddr, 1); return; } Lpi2c_Ip_MasterIRQHandler (uint32 instance) { struct Lpi2c_Ip_MasterStateType * master; struct LPI2C_Type * baseAddr; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT baseAddr = g_lpi2cBase[instance]; # DEBUG BEGIN_STMT master = g_lpi2cMasterStatePtr[instance]; # DEBUG BEGIN_STMT Lpi2c_Ip_MasterCheckDataTxRxEvent (baseAddr, master); # DEBUG BEGIN_STMT Lpi2c_Ip_MasterCheckErrorEvents (baseAddr, master); # DEBUG BEGIN_STMT _1 = LPI2C_Get_MasterPinLowTimeoutEvent (baseAddr); if (_1 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _2 = master->masterCallback; if (_2 != 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _3 = master->masterCallback; _4 = master->callbackParam; _3 (12, _4); : # DEBUG BEGIN_STMT LPI2C_Clear_MasterPinLowTimeoutEvent (baseAddr); : return; } Lpi2c_Ip_MasterCheckDataTxRxEvent (struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_MasterStateType * master) { : # DEBUG BEGIN_STMT _1 = LPI2C_Get_MasterTransmitDataRequestEvent (baseAddr); if (_1 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT Lpi2c_Ip_MasterHandleTransmitDataRequest (baseAddr, master); : # DEBUG BEGIN_STMT _2 = LPI2C_Get_MasterReceiveDataReadyEvent (baseAddr); if (_2 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT Lpi2c_Ip_MasterHandleReceiveDataReadyEvent (baseAddr, master); : return; } Lpi2c_Ip_MasterGetTransferStatus (uint32 instance, uint32 * bytesRemaining) { const struct Lpi2c_Ip_MasterStateType * master; Lpi2c_Ip_StatusType D.5431; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT master = g_lpi2cMasterStatePtr[instance]; # DEBUG BEGIN_STMT if (bytesRemaining != 0B) goto ; [INV] else goto ; [INV] : _1 = master->transferType; if (_1 == 1) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _2 = master->bufferSize; *bytesRemaining = _2; : # DEBUG BEGIN_STMT D.5431 = master->status; return D.5431; } Lpi2c_Ip_MasterReceiveDataBlocking (uint32 instance, uint8 * rxBuff, uint32 rxSize, boolean sendStop, uint32 timeout) { Lpi2c_Ip_StatusType retStatus; uint32 TimeoutTicks; uint32 ElapsedTicks; uint32 CurrentTicks; struct Lpi2c_Ip_MasterStateType * master; Lpi2c_Ip_StatusType D.5405; long unsigned int D.5401; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT CurrentTicks = 0; # DEBUG BEGIN_STMT ElapsedTicks = 0; # DEBUG BEGIN_STMT TimeoutTicks = OsIf_MicrosToTicks (timeout, 1); # DEBUG BEGIN_STMT retStatus = 2; # DEBUG BEGIN_STMT master = g_lpi2cMasterStatePtr[instance]; # DEBUG BEGIN_STMT _1 = master->i2cIdle; if (_1 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT master->bufferSize = rxSize; # DEBUG BEGIN_STMT master->dataBuffer = rxBuff; # DEBUG BEGIN_STMT master->direction = 1; # DEBUG BEGIN_STMT master->sendStop = sendStop; # DEBUG BEGIN_STMT master->i2cIdle = 0; # DEBUG BEGIN_STMT master->status = 2; # DEBUG BEGIN_STMT Lpi2c_Ip_MasterInterruptReceiveInit (instance, rxSize); # DEBUG BEGIN_STMT _2 = OsIf_GetCounter (1); CurrentTicks = _2; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT Lpi2c_Ip_MasterReceive (instance); # DEBUG BEGIN_STMT D.5401 = OsIf_GetElapsed (&CurrentTicks, 1); ElapsedTicks = D.5401 + ElapsedTicks; # DEBUG BEGIN_STMT _3 = Lpi2c_Ip_MasterGetTransferStatus (instance, 0B); if (_3 == 2) goto ; [INV] else goto ; [INV] : if (ElapsedTicks < TimeoutTicks) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT if (ElapsedTicks >= TimeoutTicks) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT master->status = 9; : # DEBUG BEGIN_STMT retStatus = master->status; : # DEBUG BEGIN_STMT D.5405 = retStatus; CurrentTicks = {CLOBBER}; return D.5405; } Lpi2c_Ip_MasterReceiveData (uint32 instance, uint8 * rxBuff, uint32 rxSize, boolean sendStop) { Lpi2c_Ip_StatusType retStatus; struct Lpi2c_Ip_MasterStateType * master; struct LPI2C_Type * baseAddr; Lpi2c_Ip_StatusType D.5393; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT retStatus = 2; # DEBUG BEGIN_STMT baseAddr = g_lpi2cBase[instance]; # DEBUG BEGIN_STMT master = g_lpi2cMasterStatePtr[instance]; # DEBUG BEGIN_STMT _1 = master->i2cIdle; _2 = ~_1; if (_2 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT retStatus = 2; goto ; [INV] : # DEBUG BEGIN_STMT retStatus = 0; # DEBUG BEGIN_STMT master->bufferSize = rxSize; # DEBUG BEGIN_STMT master->i2cIdle = 0; # DEBUG BEGIN_STMT master->sendStop = sendStop; # DEBUG BEGIN_STMT master->dataBuffer = rxBuff; # DEBUG BEGIN_STMT master->direction = 1; # DEBUG BEGIN_STMT master->status = 2; # DEBUG BEGIN_STMT Lpi2c_Ip_MasterInterruptReceiveInit (instance, rxSize); # DEBUG BEGIN_STMT _3 = Lpi2c_Ip_MasterCmdQueueEmpty (master); _4 = ~_3; if (_4 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT LPI2C_Set_MasterInt (baseAddr, 7171, 1); goto ; [INV] : # DEBUG BEGIN_STMT LPI2C_Set_MasterInt (baseAddr, 7170, 1); : # DEBUG BEGIN_STMT D.5393 = retStatus; return D.5393; } Lpi2c_Ip_MasterInterruptReceiveInit (uint32 instance, uint32 rxSize) { uint16 rxBytes; struct Lpi2c_Ip_MasterStateType * master; struct LPI2C_Type * baseAddr; : # DEBUG BEGIN_STMT baseAddr = g_lpi2cBase[instance]; # DEBUG BEGIN_STMT master = g_lpi2cMasterStatePtr[instance]; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT Lpi2c_Ip_MasterSendAddress (baseAddr, master, 1); # DEBUG BEGIN_STMT _1 = (unsigned char) rxSize; _2 = _1 + 255; Lpi2c_Ip_MasterQueueCmd (baseAddr, master, 1, _2); # DEBUG BEGIN_STMT rxBytes = LPI2C_Get_MasterRxFIFOSize (baseAddr); # DEBUG BEGIN_STMT _3 = (long unsigned int) rxBytes; if (rxSize < _3) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _4 = (unsigned char) rxSize; rxBytes = (uint16) _4; : # DEBUG BEGIN_STMT _5 = rxBytes + 65535; LPI2C_Set_MasterRxFIFOWatermark (baseAddr, _5); return; } Lpi2c_Ip_MasterSendDataBlocking (uint32 instance, uint8 * txBuff, uint32 txSize, boolean sendStop, uint32 timeout) { struct Lpi2c_Ip_MasterStateType * master; struct LPI2C_Type * baseAddr; Lpi2c_Ip_StatusType retStatus; uint32 TimeoutTicks; uint32 ElapsedTicks; uint32 CurrentTicks; Lpi2c_Ip_StatusType D.5340; long unsigned int D.5336; : # DEBUG BEGIN_STMT CurrentTicks = 0; # DEBUG BEGIN_STMT ElapsedTicks = 0; # DEBUG BEGIN_STMT TimeoutTicks = OsIf_MicrosToTicks (timeout, 1); # DEBUG BEGIN_STMT retStatus = 2; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT baseAddr = g_lpi2cBase[instance]; # DEBUG BEGIN_STMT master = g_lpi2cMasterStatePtr[instance]; # DEBUG BEGIN_STMT _1 = master->i2cIdle; if (_1 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT master->bufferSize = txSize; # DEBUG BEGIN_STMT master->dataBuffer = txBuff; # DEBUG BEGIN_STMT master->direction = 0; # DEBUG BEGIN_STMT master->sendStop = sendStop; # DEBUG BEGIN_STMT master->i2cIdle = 0; # DEBUG BEGIN_STMT master->status = 2; # DEBUG BEGIN_STMT Lpi2c_Ip_MasterInitSendTransfer (baseAddr, master); # DEBUG BEGIN_STMT _2 = OsIf_GetCounter (1); CurrentTicks = _2; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT Lpi2c_Ip_MasterSend (instance); # DEBUG BEGIN_STMT D.5336 = OsIf_GetElapsed (&CurrentTicks, 1); ElapsedTicks = D.5336 + ElapsedTicks; # DEBUG BEGIN_STMT _3 = Lpi2c_Ip_MasterGetTransferStatus (instance, 0B); if (_3 == 2) goto ; [INV] else goto ; [INV] : if (ElapsedTicks < TimeoutTicks) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT if (ElapsedTicks >= TimeoutTicks) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT master->status = 9; : # DEBUG BEGIN_STMT retStatus = master->status; : # DEBUG BEGIN_STMT D.5340 = retStatus; CurrentTicks = {CLOBBER}; return D.5340; } Lpi2c_Ip_MasterInitSendTransfer (struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_MasterStateType * master) { : # DEBUG BEGIN_STMT Lpi2c_Ip_MasterSendAddress (baseAddr, master, 0); # DEBUG BEGIN_STMT Lpi2c_Ip_MasterQueueData (baseAddr, master); # DEBUG BEGIN_STMT LPI2C_Set_MasterTxFIFOWatermark (baseAddr, 0); return; } Lpi2c_Ip_MasterSendData (uint32 instance, uint8 * txBuff, uint32 txSize, boolean sendStop) { Lpi2c_Ip_StatusType retStatus; struct Lpi2c_Ip_MasterStateType * master; struct LPI2C_Type * baseAddr; Lpi2c_Ip_StatusType D.5305; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT retStatus = 2; # DEBUG BEGIN_STMT baseAddr = g_lpi2cBase[instance]; # DEBUG BEGIN_STMT master = g_lpi2cMasterStatePtr[instance]; # DEBUG BEGIN_STMT _1 = master->i2cIdle; if (_1 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT master->bufferSize = txSize; # DEBUG BEGIN_STMT master->dataBuffer = txBuff; # DEBUG BEGIN_STMT master->direction = 0; # DEBUG BEGIN_STMT master->sendStop = sendStop; # DEBUG BEGIN_STMT master->i2cIdle = 0; # DEBUG BEGIN_STMT master->status = 2; # DEBUG BEGIN_STMT Lpi2c_Ip_MasterSendAddress (baseAddr, master, 0); # DEBUG BEGIN_STMT Lpi2c_Ip_MasterQueueData (baseAddr, master); # DEBUG BEGIN_STMT LPI2C_Set_MasterTxFIFOWatermark (baseAddr, 0); # DEBUG BEGIN_STMT LPI2C_Set_MasterInt (baseAddr, 15361, 1); # DEBUG BEGIN_STMT retStatus = 0; : # DEBUG BEGIN_STMT D.5305 = retStatus; return D.5305; } Lpi2c_Ip_MasterSetSlaveAddr (uint32 instance, const uint16 address, const boolean is10bitAddr) { struct Lpi2c_Ip_MasterStateType * master; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT master = g_lpi2cMasterStatePtr[instance]; # DEBUG BEGIN_STMT master->slaveAddress = address; # DEBUG BEGIN_STMT master->is10bitAddr = is10bitAddr; return; } Lpi2c_Ip_MasterGetBaudRate (uint32 instance, uint32 inputClock, uint32 * baudRate) { uint32 clkHi; uint32 clkLo; uint32 prescaler; const struct Lpi2c_Ip_MasterStateType * master; const struct LPI2C_Type * baseAddr; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT baseAddr = g_lpi2cBase[instance]; # DEBUG BEGIN_STMT master = g_lpi2cMasterStatePtr[instance]; # DEBUG BEGIN_STMT _1 = LPI2C_Get_MasterPrescaler (baseAddr); prescaler = (uint32) _1; # DEBUG BEGIN_STMT _2 = LPI2C_Get_MasterClockHighPeriod (baseAddr); clkHi = (uint32) _2; # DEBUG BEGIN_STMT _3 = LPI2C_Get_MasterClockLowPeriod (baseAddr); clkLo = (uint32) _3; # DEBUG BEGIN_STMT _4 = clkLo + clkHi; _5 = _4 + 2; _6 = _5 << prescaler; _7 = inputClock / _6; *baudRate = _7; # DEBUG BEGIN_STMT _8 = master->operatingMode; if (_8 == 3) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _9 = LPI2C_Get_MasterClockHighPeriodHS (baseAddr); clkHi = (uint32) _9; # DEBUG BEGIN_STMT _10 = LPI2C_Get_MasterClockLowPeriodHS (baseAddr); clkLo = (uint32) _10; # DEBUG BEGIN_STMT _11 = clkLo + clkHi; _12 = _11 + 2; _13 = _12 << prescaler; _14 = inputClock / _13; *baudRate = _14; : return; } Lpi2c_Ip_MasterDeinit (uint32 instance) { const struct Lpi2c_Ip_MasterStateType * master; struct LPI2C_Type * baseAddr; Lpi2c_Ip_StatusType D.5289; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT baseAddr = g_lpi2cBase[instance]; # DEBUG BEGIN_STMT master = g_lpi2cMasterStatePtr[instance]; # DEBUG BEGIN_STMT g_lpi2cMasterStatePtr[instance] = 0B; # DEBUG BEGIN_STMT LPI2C_Set_MasterEnable (baseAddr, 0); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT D.5289 = 0; return D.5289; } Lpi2c_Ip_MasterInit (uint32 instance, const struct Lpi2c_Ip_MasterConfigType * userConfigPtr) { struct Lpi2c_Ip_MasterStateType * master; struct LPI2C_Type * baseAddr; Lpi2c_Ip_StatusType D.5279; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT baseAddr = g_lpi2cBase[instance]; # DEBUG BEGIN_STMT _1 = userConfigPtr->masterState; g_lpi2cMasterStatePtr[instance] = _1; # DEBUG BEGIN_STMT master = g_lpi2cMasterStatePtr[instance]; # DEBUG BEGIN_STMT master->direction = 0; # DEBUG BEGIN_STMT master->dataBuffer = 0B; # DEBUG BEGIN_STMT master->bufferSize = 0; # DEBUG BEGIN_STMT master->status = 0; # DEBUG BEGIN_STMT master->i2cIdle = 1; # DEBUG BEGIN_STMT _2 = userConfigPtr->slaveAddress; master->slaveAddress = _2; # DEBUG BEGIN_STMT _3 = userConfigPtr->is10bitAddr; master->is10bitAddr = _3; # DEBUG BEGIN_STMT _4 = userConfigPtr->transferType; master->transferType = _4; # DEBUG BEGIN_STMT _5 = userConfigPtr->dmaTxChannel; master->dmaTxChannel = _5; # DEBUG BEGIN_STMT _6 = userConfigPtr->dmaRxChannel; master->dmaRxChannel = _6; # DEBUG BEGIN_STMT _7 = userConfigPtr->masterCallback; master->masterCallback = _7; # DEBUG BEGIN_STMT _8 = userConfigPtr->callbackParam; master->callbackParam = _8; # DEBUG BEGIN_STMT _9 = userConfigPtr->masterCode; master->masterCode = _9; # DEBUG BEGIN_STMT master->highSpeedInProgress = 0; # DEBUG BEGIN_STMT _10 = userConfigPtr->baudrateParams; master->baudrateParams = _10; # DEBUG BEGIN_STMT Lpi2c_Ip_MasterInitModule (baseAddr, master); # DEBUG BEGIN_STMT Lpi2c_Ip_MasterConfigFeatures (baseAddr, userConfigPtr); # DEBUG BEGIN_STMT _11 = userConfigPtr->operatingMode; _12 = master->baudrateParams; Lpi2c_Ip_MasterSetBaudRateInit (instance, _11, _12); # DEBUG BEGIN_STMT _13 = userConfigPtr->slaveAddress; _14 = userConfigPtr->is10bitAddr; Lpi2c_Ip_MasterSetSlaveAddr (instance, _13, _14); # DEBUG BEGIN_STMT LPI2C_Set_MasterEnable (baseAddr, 1); # DEBUG BEGIN_STMT D.5279 = 0; return D.5279; } Lpi2c_Ip_MasterConfigFeatures (struct LPI2C_Type * baseAddr, const struct Lpi2c_Ip_MasterConfigType * userConfigPtr) { : # DEBUG BEGIN_STMT _1 = userConfigPtr->u32GlitchFilterSDA; LPI2C_Set_MasterGlitchFilterSDA (baseAddr, _1); # DEBUG BEGIN_STMT _2 = userConfigPtr->u32GlitchFilterSCL; LPI2C_Set_MasterGlitchFilterSCL (baseAddr, _2); # DEBUG BEGIN_STMT _3 = userConfigPtr->u32BusIdleTimeout; LPI2C_Set_MasterBusIdleTimeout (baseAddr, _3); # DEBUG BEGIN_STMT LPI2C_Set_MasterPinLowTimeoutConfiguration (baseAddr, 1); # DEBUG BEGIN_STMT _4 = userConfigPtr->u32PinLowTimeout; LPI2C_Set_MasterPinLowTimeout (baseAddr, _4); return; } Lpi2c_Ip_MasterInitModule (struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_MasterStateType * master) { : # DEBUG BEGIN_STMT Lpi2c_Ip_MasterResetQueue (master); # DEBUG BEGIN_STMT LPI2C_Init (baseAddr); return; } Lpi2c_Ip_MasterSetBaudRateInit (uint32 instance, const Lpi2c_Ip_ModeType operatingMode, const struct Lpi2c_Ip_BaudRateType * baudRate) { Lpi2c_Ip_StatusType retStatus; const struct Lpi2c_Ip_MasterStateType * master; struct LPI2C_Type * baseAddr; Lpi2c_Ip_StatusType D.5287; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT retStatus = 2; # DEBUG BEGIN_STMT master = g_lpi2cMasterStatePtr[instance]; # DEBUG BEGIN_STMT baseAddr = g_lpi2cBase[instance]; # DEBUG BEGIN_STMT _1 = master->i2cIdle; if (_1 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT LPI2C_Set_MasterEnable (baseAddr, 0); # DEBUG BEGIN_STMT Lpi2c_Ip_BaudRateConfig (baseAddr, baudRate); # DEBUG BEGIN_STMT Lpi2c_Ip_HSBaudRateConfig (baseAddr, baudRate); # DEBUG BEGIN_STMT Lpi2c_Ip_MasterSetOperatingMode (instance, operatingMode); # DEBUG BEGIN_STMT LPI2C_Set_MasterEnable (baseAddr, 1); # DEBUG BEGIN_STMT retStatus = 0; : # DEBUG BEGIN_STMT D.5287 = retStatus; return D.5287; } Lpi2c_Ip_MasterSetBaudRate (uint32 instance, Lpi2c_Ip_ModeType operatingMode, uint32 baudrate, uint32 inputClock) { Lpi2c_Ip_StatusType retStatus; uint32 dataVd; uint32 setHold; uint32 clkHi; uint32 clkLo; uint32 clkTotal; uint32 prescaler; uint32 minPrescaler; struct Lpi2c_Ip_BaudRateType baudRateParams; const struct Lpi2c_Ip_MasterStateType * master; struct LPI2C_Type * baseAddr; Lpi2c_Ip_StatusType D.5272; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT minPrescaler = 0; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT retStatus = 2; # DEBUG BEGIN_STMT baseAddr = g_lpi2cBase[instance]; # DEBUG BEGIN_STMT master = g_lpi2cMasterStatePtr[instance]; # DEBUG BEGIN_STMT _1 = master->i2cIdle; if (_1 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT LPI2C_Set_MasterEnable (baseAddr, 0); # DEBUG BEGIN_STMT if (baudrate != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _2 = inputClock + 4294967295; _3 = baudrate * 128; _4 = _2 / _3; minPrescaler = _4 + 1; # DEBUG BEGIN_STMT prescaler = 0; goto ; [INV] : # DEBUG BEGIN_STMT _5 = 1 << prescaler; if (minPrescaler <= _5) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT prescaler = prescaler + 1; : # DEBUG BEGIN_STMT if (prescaler <= 6) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _6 = baudrate << prescaler; _7 = _6 >> 1; _8 = inputClock + _7; _9 = baudrate << prescaler; clkTotal = _8 / _9; goto ; [INV] : # DEBUG BEGIN_STMT prescaler = 7; # DEBUG BEGIN_STMT clkTotal = 128; : # DEBUG BEGIN_STMT if (clkTotal > 128) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT clkTotal = 128; : # DEBUG BEGIN_STMT if (clkTotal <= 1) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT clkHi = 0; # DEBUG BEGIN_STMT clkLo = 0; goto ; [INV] : # DEBUG BEGIN_STMT _10 = clkTotal + 4294967294; clkHi = _10 / 2; # DEBUG BEGIN_STMT _11 = clkTotal - clkHi; clkLo = _11 + 4294967294; : # DEBUG BEGIN_STMT if (clkHi == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT clkHi = 1; : # DEBUG BEGIN_STMT if (clkLo <= 2) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT clkLo = 3; : # DEBUG BEGIN_STMT setHold = clkHi; # DEBUG BEGIN_STMT dataVd = clkHi >> 1; # DEBUG BEGIN_STMT if (setHold <= 1) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT setHold = 2; : # DEBUG BEGIN_STMT if (dataVd == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT dataVd = 1; : # DEBUG BEGIN_STMT _12 = () prescaler; baudRateParams.prescaler = _12; # DEBUG BEGIN_STMT baudRateParams.dataValid = dataVd; # DEBUG BEGIN_STMT baudRateParams.setHold = setHold; # DEBUG BEGIN_STMT baudRateParams.clkHI = clkHi; # DEBUG BEGIN_STMT baudRateParams.clkLO = clkLo; # DEBUG BEGIN_STMT Lpi2c_Ip_BaudRateConfig (baseAddr, &baudRateParams); # DEBUG BEGIN_STMT Lpi2c_Ip_MasterSetOperatingMode (instance, operatingMode); # DEBUG BEGIN_STMT LPI2C_Set_MasterEnable (baseAddr, 1); # DEBUG BEGIN_STMT retStatus = 0; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT D.5272 = retStatus; baudRateParams = {CLOBBER}; return D.5272; } Lpi2c_Ip_HSBaudRateConfig (struct LPI2C_Type * baseAddr, const struct Lpi2c_Ip_BaudRateType * baudRate) { : # DEBUG BEGIN_STMT _1 = baudRate->setHoldHS; _2 = (unsigned char) _1; LPI2C_Set_MasterDataValidDelayHS (baseAddr, _2); # DEBUG BEGIN_STMT _3 = baudRate->dataValidHS; _4 = (unsigned char) _3; LPI2C_Set_MasterSetupHoldDelayHS (baseAddr, _4); # DEBUG BEGIN_STMT _5 = baudRate->clkHIHS; _6 = (unsigned char) _5; LPI2C_Set_MasterClockHighPeriodHS (baseAddr, _6); # DEBUG BEGIN_STMT _7 = baudRate->clkLOHS; _8 = (unsigned char) _7; LPI2C_Set_MasterClockLowPeriodHS (baseAddr, _8); return; } Lpi2c_Ip_BaudRateConfig (struct LPI2C_Type * baseAddr, const struct Lpi2c_Ip_BaudRateType * baudRate) { : # DEBUG BEGIN_STMT _1 = baudRate->prescaler; LPI2C_Set_MasterPrescaler (baseAddr, _1); # DEBUG BEGIN_STMT _2 = baudRate->setHold; _3 = (unsigned char) _2; LPI2C_Set_MasterSetupHoldDelay (baseAddr, _3); # DEBUG BEGIN_STMT _4 = baudRate->dataValid; _5 = (unsigned char) _4; LPI2C_Set_MasterDataValidDelay (baseAddr, _5); # DEBUG BEGIN_STMT _6 = baudRate->clkHI; _7 = (unsigned char) _6; LPI2C_Set_MasterClockHighPeriod (baseAddr, _7); # DEBUG BEGIN_STMT _8 = baudRate->clkLO; _9 = (unsigned char) _8; LPI2C_Set_MasterClockLowPeriod (baseAddr, _9); return; } Lpi2c_Ip_MasterReceive (uint32 instance) { struct Lpi2c_Ip_MasterStateType * master; struct LPI2C_Type * baseAddr; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT baseAddr = g_lpi2cBase[instance]; # DEBUG BEGIN_STMT master = g_lpi2cMasterStatePtr[instance]; # DEBUG BEGIN_STMT _1 = LPI2C_Get_MasterReceiveDataReadyEvent (baseAddr); if (_1 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT Lpi2c_Ip_MasterGetReceivedData (baseAddr, master); # DEBUG BEGIN_STMT _2 = master->bufferSize; if (_2 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _3 = master->sendStop; Lpi2c_Ip_MasterEndTransfer (baseAddr, master, _3, 0); # DEBUG BEGIN_STMT master->status = 0; # DEBUG BEGIN_STMT _4 = master->masterCallback; if (_4 != 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _5 = master->masterCallback; _6 = master->callbackParam; _5 (11, _6); goto ; [INV] : # DEBUG BEGIN_STMT _7 = master->bufferSize; _8 = LPI2C_Get_MasterRxFIFOWatermark (baseAddr); _9 = (long unsigned int) _8; if (_7 <= _9) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _10 = master->bufferSize; _11 = (short unsigned int) _10; _12 = _11 + 65535; LPI2C_Set_MasterRxFIFOWatermark (baseAddr, _12); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT Lpi2c_Ip_MasterCheckErrorEvents (baseAddr, master); return; } Lpi2c_Ip_MasterGetReceivedData (const struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_MasterStateType * master) { : # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT _1 = master->dataBuffer; _2 = LPI2C_Get_MasterRxData (baseAddr); *_1 = _2; # DEBUG BEGIN_STMT _3 = master->dataBuffer; _4 = _3 + 1; master->dataBuffer = _4; # DEBUG BEGIN_STMT _5 = master->bufferSize; _6 = _5 + 4294967295; master->bufferSize = _6; : # DEBUG BEGIN_STMT _7 = LPI2C_Get_MasterRxFIFOCount (baseAddr); if (_7 != 0) goto ; [INV] else goto ; [INV] : _8 = master->bufferSize; if (_8 != 0) goto ; [INV] else goto ; [INV] : return; } Lpi2c_Ip_MasterSend (uint32 instance) { boolean masterCmdQueueEmpty; struct Lpi2c_Ip_MasterStateType * master; struct LPI2C_Type * baseAddr; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT masterCmdQueueEmpty = 0; # DEBUG BEGIN_STMT baseAddr = g_lpi2cBase[instance]; # DEBUG BEGIN_STMT master = g_lpi2cMasterStatePtr[instance]; # DEBUG BEGIN_STMT _1 = LPI2C_Get_MasterTransmitDataRequestEvent (baseAddr); if (_1 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _2 = Lpi2c_Ip_MasterCmdQueueEmpty (master); _3 = ~_2; if (_3 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT Lpi2c_Ip_MasterSendQueuedCmd (baseAddr, master); goto ; [INV] : # DEBUG BEGIN_STMT masterCmdQueueEmpty = 1; : # DEBUG BEGIN_STMT if (masterCmdQueueEmpty != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _4 = master->dataBuffer; if (_4 != 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _5 = master->bufferSize; if (_5 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _6 = master->sendStop; Lpi2c_Ip_MasterEndTransfer (baseAddr, master, _6, 0); # DEBUG BEGIN_STMT master->status = 0; # DEBUG BEGIN_STMT _7 = master->masterCallback; if (_7 != 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _8 = master->masterCallback; _9 = master->callbackParam; _8 (11, _9); goto ; [INV] : # DEBUG BEGIN_STMT Lpi2c_Ip_MasterQueueData (baseAddr, master); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT Lpi2c_Ip_MasterCheckErrorEvents (baseAddr, master); return; } Lpi2c_Ip_MasterCheckErrorEvents (struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_MasterStateType * master) { : # DEBUG BEGIN_STMT _1 = LPI2C_Get_MasterFIFOErrorEvent (baseAddr); if (_1 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT LPI2C_Get_MasterFIFOErrorEventHandler (baseAddr, master); : # DEBUG BEGIN_STMT _2 = LPI2C_Get_MasterArbitrationLostEvent (baseAddr); if (_2 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT LPI2C_Get_MasterArbitrationLostEventHandler (baseAddr, master); : # DEBUG BEGIN_STMT _3 = LPI2C_Get_MasterNACKDetectEvent (baseAddr); if (_3 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT LPI2C_Get_MasterNACKDetectEventHandler (baseAddr, master); : return; } LPI2C_Get_MasterArbitrationLostEventHandler (struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_MasterStateType * master) { : # DEBUG BEGIN_STMT LPI2C_Clear_MasterArbitrationLostEvent (baseAddr); # DEBUG BEGIN_STMT Lpi2c_Ip_MasterEndTransfer (baseAddr, master, 0, 1); # DEBUG BEGIN_STMT master->status = 6; # DEBUG BEGIN_STMT _1 = master->masterCallback; if (_1 != 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _2 = master->masterCallback; _3 = master->callbackParam; _2 (11, _3); : return; } LPI2C_Get_MasterNACKDetectEventHandler (struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_MasterStateType * master) { : # DEBUG BEGIN_STMT master->highSpeedInProgress = 0; # DEBUG BEGIN_STMT master->status = 3; # DEBUG BEGIN_STMT Lpi2c_Ip_MasterEndTransfer (baseAddr, master, 0, 1); # DEBUG BEGIN_STMT _1 = master->masterCallback; if (_1 != 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _2 = master->masterCallback; _3 = master->callbackParam; _2 (11, _3); : # DEBUG BEGIN_STMT LPI2C_Clear_MasterNACKDetectEvent (baseAddr); return; } LPI2C_Get_MasterFIFOErrorEventHandler (struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_MasterStateType * master) { : # DEBUG BEGIN_STMT LPI2C_Clear_MasterFIFOErrorEvent (baseAddr); # DEBUG BEGIN_STMT _1 = master->operatingMode; if (_1 == 3) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT master->highSpeedInProgress = 0; : # DEBUG BEGIN_STMT master->status = 1; # DEBUG BEGIN_STMT Lpi2c_Ip_MasterEndTransfer (baseAddr, master, 0, 1); # DEBUG BEGIN_STMT _2 = master->masterCallback; if (_2 != 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _3 = master->masterCallback; _4 = master->callbackParam; _3 (11, _4); : return; } Lpi2c_Ip_SlaveHandleReceiveDataEvent (const struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_SlaveStateType * slave) { : # DEBUG BEGIN_STMT _1 = slave->bufferSize; if (_1 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _2 = slave->slaveCallback; if (_2 != 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _3 = slave->slaveCallback; _4 = slave->callbackParam; _3 (3, _4); : # DEBUG BEGIN_STMT _5 = slave->bufferSize; if (_5 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT slave->status = 5; # DEBUG BEGIN_STMT LPI2C_Get_SlaveData (baseAddr); goto ; [INV] : # DEBUG BEGIN_STMT _6 = slave->dataBuffer; _7 = LPI2C_Get_SlaveData (baseAddr); *_6 = _7; # DEBUG BEGIN_STMT _8 = slave->dataBuffer; _9 = _8 + 1; slave->dataBuffer = _9; # DEBUG BEGIN_STMT _10 = slave->bufferSize; _11 = _10 + 4294967295; slave->bufferSize = _11; : return; } Lpi2c_Ip_SlaveHandleTransmitDataEvent (struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_SlaveStateType * slave) { : # DEBUG BEGIN_STMT _1 = slave->txUnderrunWarning; if (_1 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT slave->status = 4; : # DEBUG BEGIN_STMT _2 = slave->bufferSize; if (_2 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _3 = slave->slaveCallback; if (_3 != 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _4 = slave->slaveCallback; _5 = slave->callbackParam; _4 (4, _5); : # DEBUG BEGIN_STMT _6 = slave->bufferSize; if (_6 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT slave->txUnderrunWarning = 1; # DEBUG BEGIN_STMT LPI2C_Transmit_SlaveData (baseAddr, 255); goto ; [INV] : # DEBUG BEGIN_STMT _7 = slave->dataBuffer; _8 = *_7; LPI2C_Transmit_SlaveData (baseAddr, _8); # DEBUG BEGIN_STMT _9 = slave->dataBuffer; _10 = _9 + 1; slave->dataBuffer = _10; # DEBUG BEGIN_STMT _11 = slave->bufferSize; _12 = _11 + 4294967295; slave->bufferSize = _12; : return; } Lpi2c_Ip_SlaveHandleAddressValidEvent (uint32 instance, const struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_SlaveStateType * slave) { uint16 receivedAddr; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT receivedAddr = LPI2C_Get_SlaveReceivedAddr (baseAddr); # DEBUG BEGIN_STMT _1 = (unsigned int) receivedAddr; _2 = _1 & 1; if (_2 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT slave->direction = 0; # DEBUG BEGIN_STMT _3 = slave->slaveCallback; if (_3 != 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _4 = slave->slaveCallback; _5 = slave->callbackParam; _4 (5, _5); : # DEBUG BEGIN_STMT _6 = slave->transferType; if (_6 == 1) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _7 = g_lpi2cBase[instance]; LPI2C_Set_SlaveInt (_7, 1, 1); : # DEBUG BEGIN_STMT slave->txUnderrunWarning = 0; goto ; [INV] : # DEBUG BEGIN_STMT slave->direction = 1; # DEBUG BEGIN_STMT _8 = slave->slaveCallback; if (_8 != 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _9 = slave->slaveCallback; _10 = slave->callbackParam; _9 (6, _10); : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT slave->status = 2; return; } Lpi2c_Ip_MasterHandleReceiveDataReadyEvent (struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_MasterStateType * master) { : # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT _1 = master->dataBuffer; _2 = LPI2C_Get_MasterRxData (baseAddr); *_1 = _2; # DEBUG BEGIN_STMT _3 = master->dataBuffer; _4 = _3 + 1; master->dataBuffer = _4; # DEBUG BEGIN_STMT _5 = master->bufferSize; _6 = _5 + 4294967295; master->bufferSize = _6; : # DEBUG BEGIN_STMT _7 = LPI2C_Get_MasterRxFIFOCount (baseAddr); if (_7 != 0) goto ; [INV] else goto ; [INV] : _8 = master->bufferSize; if (_8 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _9 = master->bufferSize; if (_9 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _10 = master->sendStop; Lpi2c_Ip_MasterEndTransfer (baseAddr, master, _10, 0); # DEBUG BEGIN_STMT master->status = 0; # DEBUG BEGIN_STMT _11 = master->masterCallback; if (_11 != 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _12 = master->masterCallback; _13 = master->callbackParam; _12 (11, _13); goto ; [INV] : # DEBUG BEGIN_STMT _14 = master->bufferSize; _15 = LPI2C_Get_MasterRxFIFOWatermark (baseAddr); _16 = (long unsigned int) _15; if (_14 <= _16) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _17 = master->bufferSize; _18 = (short unsigned int) _17; _19 = _18 + 65535; LPI2C_Set_MasterRxFIFOWatermark (baseAddr, _19); : # DEBUG BEGIN_STMT return; } Lpi2c_Ip_MasterHandleTransmitDataRequest (struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_MasterStateType * master) { : # DEBUG BEGIN_STMT _1 = Lpi2c_Ip_MasterCmdQueueEmpty (master); _2 = ~_1; if (_2 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT Lpi2c_Ip_MasterSendQueuedCmd (baseAddr, master); goto ; [INV] : # DEBUG BEGIN_STMT _3 = master->dataBuffer; if (_3 != 0B) goto ; [INV] else goto ; [INV] : _4 = master->direction; if (_4 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _5 = master->bufferSize; if (_5 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _6 = master->sendStop; Lpi2c_Ip_MasterEndTransfer (baseAddr, master, _6, 0); # DEBUG BEGIN_STMT master->status = 0; # DEBUG BEGIN_STMT _7 = master->masterCallback; if (_7 != 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _8 = master->masterCallback; _9 = master->callbackParam; _8 (11, _9); goto ; [INV] : # DEBUG BEGIN_STMT Lpi2c_Ip_MasterQueueData (baseAddr, master); goto ; [INV] : # DEBUG BEGIN_STMT LPI2C_Set_MasterInt (baseAddr, 1, 0); : return; } Lpi2c_Ip_SlaveSetOperatingMode (uint32 instance, Lpi2c_Ip_ModeType operatingMode) { boolean bHighSpeedMode; struct Lpi2c_Ip_SlaveStateType * slave; struct LPI2C_Type * baseAddr; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT bHighSpeedMode = 0; # DEBUG BEGIN_STMT baseAddr = g_lpi2cBase[instance]; # DEBUG BEGIN_STMT slave = g_lpi2cSlaveStatePtr[instance]; # DEBUG BEGIN_STMT Lpi2c_Ip_SlaveConfigureNormalMode (baseAddr); # DEBUG BEGIN_STMT if (operatingMode == 3) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT bHighSpeedMode = 1; : # DEBUG BEGIN_STMT LPI2C_Set_SlaveHighSpeedModeDetect (baseAddr, bHighSpeedMode); # DEBUG BEGIN_STMT slave->operatingMode = operatingMode; return; } Lpi2c_Ip_SlaveConfigureNormalMode (struct LPI2C_Type * baseAddr) { : # DEBUG BEGIN_STMT LPI2C_Set_SlaveIgnoreNACK (baseAddr, 0); # DEBUG BEGIN_STMT LPI2C_Set_SlaveTransmitNACK (baseAddr, 0); # DEBUG BEGIN_STMT LPI2C_Set_SlaveACKStall (baseAddr, 0); # DEBUG BEGIN_STMT LPI2C_Set_SlaveTXDStall (baseAddr, 1); # DEBUG BEGIN_STMT LPI2C_Set_SlaveRXStall (baseAddr, 1); # DEBUG BEGIN_STMT LPI2C_Set_SlaveAddrStall (baseAddr, 1); return; } Lpi2c_Ip_MasterSetOperatingMode (uint32 instance, Lpi2c_Ip_ModeType operatingMode) { struct Lpi2c_Ip_MasterStateType * master; struct LPI2C_Type * baseAddr; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT baseAddr = g_lpi2cBase[instance]; # DEBUG BEGIN_STMT master = g_lpi2cMasterStatePtr[instance]; # DEBUG BEGIN_STMT LPI2C_Set_MasterPinConfig (baseAddr, 0); # DEBUG BEGIN_STMT LPI2C_Set_MasterNACKConfig (baseAddr, 0); # DEBUG BEGIN_STMT master->operatingMode = operatingMode; return; } Lpi2c_Ip_MasterEndTransfer (struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_MasterStateType * master, boolean sendStop, boolean resetFIFO) { : # DEBUG BEGIN_STMT LPI2C_Set_MasterInt (baseAddr, 15363, 0); # DEBUG BEGIN_STMT if (resetFIFO != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT LPI2C_Reset_MasterTxFIFOCmd (baseAddr); # DEBUG BEGIN_STMT LPI2C_Reset_MasterRxFIFOCmd (baseAddr); : # DEBUG BEGIN_STMT if (sendStop != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT LPI2C_Cmd_MasterTransmit (baseAddr, 2, 0); # DEBUG BEGIN_STMT master->highSpeedInProgress = 0; : # DEBUG BEGIN_STMT master->dataBuffer = 0B; # DEBUG BEGIN_STMT master->bufferSize = 0; # DEBUG BEGIN_STMT master->i2cIdle = 1; return; } Lpi2c_Ip_MasterQueueData (struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_MasterStateType * master) { uint16 txFifoSize; uint16 txFIFOCount; : # DEBUG BEGIN_STMT txFIFOCount = LPI2C_Get_MasterTxFIFOCount (baseAddr); # DEBUG BEGIN_STMT txFifoSize = LPI2C_Get_MasterTxFIFOSize (baseAddr); # DEBUG BEGIN_STMT _1 = Lpi2c_Ip_MasterCmdQueueEmpty (master); if (_1 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _2 = master->dataBuffer; _3 = *_2; LPI2C_Cmd_MasterTransmit (baseAddr, 0, _3); # DEBUG BEGIN_STMT _4 = master->dataBuffer; _5 = _4 + 1; master->dataBuffer = _5; # DEBUG BEGIN_STMT _6 = master->bufferSize; _7 = _6 + 4294967295; master->bufferSize = _7; # DEBUG BEGIN_STMT txFIFOCount = LPI2C_Get_MasterTxFIFOCount (baseAddr); : # DEBUG BEGIN_STMT _8 = master->bufferSize; if (_8 != 0) goto ; [INV] else goto ; [INV] : if (txFIFOCount < txFifoSize) goto ; [INV] else goto ; [INV] : return; } Lpi2c_Ip_MasterSendAddress (struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_MasterStateType * master, boolean receive) { Lpi2c_Ip_MasterCommandType startCommand; uint8 addrByte; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = master->operatingMode; if (_1 == 3) goto ; [INV] else goto ; [INV] : _2 = master->highSpeedInProgress; _3 = ~_2; if (_3 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _4 = master->masterCode; Lpi2c_Ip_MasterQueueCmd (baseAddr, master, 5, _4); # DEBUG BEGIN_STMT master->highSpeedInProgress = 1; : # DEBUG BEGIN_STMT _5 = master->highSpeedInProgress; if (_5 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT startCommand = 6; goto ; [INV] : # DEBUG BEGIN_STMT startCommand = 4; : # DEBUG BEGIN_STMT _6 = master->is10bitAddr; if (_6 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _7 = master->slaveAddress; _8 = _7 >> 7; _9 = (unsigned char) _8; _10 = _9 & 6; addrByte = _10 + 240; # DEBUG BEGIN_STMT Lpi2c_Ip_MasterQueueCmd (baseAddr, master, startCommand, addrByte); # DEBUG BEGIN_STMT _11 = master->slaveAddress; addrByte = (uint8) _11; # DEBUG BEGIN_STMT Lpi2c_Ip_MasterQueueCmd (baseAddr, master, 0, addrByte); # DEBUG BEGIN_STMT if (receive != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _12 = master->slaveAddress; _13 = _12 >> 7; _14 = (unsigned char) _13; _15 = _14 & 6; addrByte = _15 + 241; # DEBUG BEGIN_STMT Lpi2c_Ip_MasterQueueCmd (baseAddr, master, startCommand, addrByte); goto ; [INV] : # DEBUG BEGIN_STMT _16 = master->slaveAddress; _17 = (unsigned char) _16; _18 = _17 << 1; _19 = (unsigned char) receive; addrByte = _18 + _19; # DEBUG BEGIN_STMT Lpi2c_Ip_MasterQueueCmd (baseAddr, master, startCommand, addrByte); : return; } Lpi2c_Ip_MasterSendQueuedCmd (struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_MasterStateType * master) { uint16 txFifoSize; uint16 txFIFOCount; : # DEBUG BEGIN_STMT txFIFOCount = LPI2C_Get_MasterTxFIFOCount (baseAddr); # DEBUG BEGIN_STMT txFifoSize = LPI2C_Get_MasterTxFIFOSize (baseAddr); # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT _1 = master->cmdQueue.readIdx; _2 = (int) _1; _3 = master->cmdQueue.cmd[_2]; _4 = master->cmdQueue.readIdx; _5 = (int) _4; _6 = master->cmdQueue.data[_5]; LPI2C_Cmd_MasterTransmit (baseAddr, _3, _6); # DEBUG BEGIN_STMT _7 = master->cmdQueue.readIdx; _8 = _7; _9 = _8 + 1; master->cmdQueue.readIdx = _9; # DEBUG BEGIN_STMT txFIFOCount = LPI2C_Get_MasterTxFIFOCount (baseAddr); : # DEBUG BEGIN_STMT _10 = Lpi2c_Ip_MasterCmdQueueEmpty (master); _11 = ~_10; if (_11 != 0) goto ; [INV] else goto ; [INV] : if (txFIFOCount < txFifoSize) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _12 = Lpi2c_Ip_MasterCmdQueueEmpty (master); if (_12 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT Lpi2c_Ip_MasterResetQueue (master); : return; } Lpi2c_Ip_MasterQueueCmd (struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_MasterStateType * master, Lpi2c_Ip_MasterCommandType cmd, uint8 data) { uint16 txFIFOSize; uint16 txFIFOCount; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT txFIFOCount = LPI2C_Get_MasterTxFIFOCount (baseAddr); # DEBUG BEGIN_STMT txFIFOSize = LPI2C_Get_MasterTxFIFOSize (baseAddr); # DEBUG BEGIN_STMT if (txFIFOCount < txFIFOSize) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT LPI2C_Cmd_MasterTransmit (baseAddr, cmd, data); goto ; [INV] : # DEBUG BEGIN_STMT _1 = master->cmdQueue.writeIdx; _2 = (int) _1; master->cmdQueue.cmd[_2] = cmd; # DEBUG BEGIN_STMT _3 = master->cmdQueue.writeIdx; _4 = (int) _3; master->cmdQueue.data[_4] = data; # DEBUG BEGIN_STMT _5 = master->cmdQueue.writeIdx; _6 = _5; _7 = _6 + 1; master->cmdQueue.writeIdx = _7; : return; } Lpi2c_Ip_MasterResetQueue (struct Lpi2c_Ip_MasterStateType * master) { : # DEBUG BEGIN_STMT master->cmdQueue.readIdx = 0; # DEBUG BEGIN_STMT master->cmdQueue.writeIdx = 0; return; } Lpi2c_Ip_MasterCmdQueueEmpty (const struct Lpi2c_Ip_MasterStateType * master) { boolean D.5329; : # DEBUG BEGIN_STMT _1 = master->cmdQueue.writeIdx; _2 = master->cmdQueue.readIdx; D.5329 = _1 == _2; return D.5329; } LPI2C_Get_SlaveData (const struct LPI2C_Type * baseAddr) { uint32 tmp; uint8 D.5581; : # DEBUG BEGIN_STMT tmp = baseAddr->SRDR; # DEBUG BEGIN_STMT tmp = tmp & 255; # DEBUG BEGIN_STMT D.5581 = (uint8) tmp; return D.5581; } LPI2C_Transmit_SlaveData (struct LPI2C_Type * baseAddr, uint8 data) { : # DEBUG BEGIN_STMT _1 = (long unsigned int) data; baseAddr->STDR = _1; return; } LPI2C_Set_SlaveTransmitNACK (struct LPI2C_Type * baseAddr, Lpi2c_Ip_SlaveNackTransmitType nack) { uint32 regValue; : # DEBUG BEGIN_STMT regValue = baseAddr->STAR; # DEBUG BEGIN_STMT regValue = regValue & 4294967294; # DEBUG BEGIN_STMT _1 = (long unsigned int) nack; _2 = _1 & 1; regValue = regValue | _2; # DEBUG BEGIN_STMT baseAddr->STAR = regValue; return; } LPI2C_Get_SlaveReceivedAddr (const struct LPI2C_Type * baseAddr) { uint32 tmp; uint16 D.5554; : # DEBUG BEGIN_STMT tmp = baseAddr->SASR; # DEBUG BEGIN_STMT tmp = tmp & 2047; # DEBUG BEGIN_STMT D.5554 = (uint16) tmp; return D.5554; } LPI2C_Set_SlaveAddr0 (struct LPI2C_Type * baseAddr, uint16 addr) { uint32 tmp; : # DEBUG BEGIN_STMT tmp = baseAddr->SAMR; # DEBUG BEGIN_STMT tmp = tmp & 4294965249; # DEBUG BEGIN_STMT _1 = (long unsigned int) addr; _2 = _1 << 1; _3 = _2 & 2046; tmp = tmp | _3; # DEBUG BEGIN_STMT baseAddr->SAMR = tmp; return; } LPI2C_Set_SlaveAddrStall (struct LPI2C_Type * baseAddr, boolean enable) { uint32 regValue; long unsigned int iftmp.5; : # DEBUG BEGIN_STMT regValue = baseAddr->SCFGR1; # DEBUG BEGIN_STMT regValue = regValue & 4294967294; # DEBUG BEGIN_STMT if (enable != 0) goto ; [INV] else goto ; [INV] : iftmp.5 = 1; goto ; [INV] : iftmp.5 = 0; : regValue = iftmp.5 | regValue; # DEBUG BEGIN_STMT baseAddr->SCFGR1 = regValue; return; } LPI2C_Set_SlaveRXStall (struct LPI2C_Type * baseAddr, boolean enable) { uint32 regValue; long unsigned int iftmp.4; : # DEBUG BEGIN_STMT regValue = baseAddr->SCFGR1; # DEBUG BEGIN_STMT regValue = regValue & 4294967293; # DEBUG BEGIN_STMT if (enable != 0) goto ; [INV] else goto ; [INV] : iftmp.4 = 2; goto ; [INV] : iftmp.4 = 0; : regValue = iftmp.4 | regValue; # DEBUG BEGIN_STMT baseAddr->SCFGR1 = regValue; return; } LPI2C_Set_SlaveTXDStall (struct LPI2C_Type * baseAddr, boolean enable) { uint32 regValue; long unsigned int iftmp.3; : # DEBUG BEGIN_STMT regValue = baseAddr->SCFGR1; # DEBUG BEGIN_STMT regValue = regValue & 4294967291; # DEBUG BEGIN_STMT if (enable != 0) goto ; [INV] else goto ; [INV] : iftmp.3 = 4; goto ; [INV] : iftmp.3 = 0; : regValue = iftmp.3 | regValue; # DEBUG BEGIN_STMT baseAddr->SCFGR1 = regValue; return; } LPI2C_Set_SlaveACKStall (struct LPI2C_Type * baseAddr, boolean enable) { uint32 regValue; long unsigned int iftmp.2; : # DEBUG BEGIN_STMT regValue = baseAddr->SCFGR1; # DEBUG BEGIN_STMT regValue = regValue & 4294967287; # DEBUG BEGIN_STMT if (enable != 0) goto ; [INV] else goto ; [INV] : iftmp.2 = 8; goto ; [INV] : iftmp.2 = 0; : regValue = iftmp.2 | regValue; # DEBUG BEGIN_STMT baseAddr->SCFGR1 = regValue; return; } LPI2C_Set_SlaveIgnoreNACK (struct LPI2C_Type * baseAddr, Lpi2c_Ip_SlaveNackConfigType nack_config) { uint32 regValue; : # DEBUG BEGIN_STMT regValue = baseAddr->SCFGR1; # DEBUG BEGIN_STMT regValue = regValue & 4294963199; # DEBUG BEGIN_STMT _1 = (long unsigned int) nack_config; _2 = _1 << 12; _3 = _2 & 4096; regValue = regValue | _3; # DEBUG BEGIN_STMT baseAddr->SCFGR1 = regValue; return; } LPI2C_Set_SlaveHighSpeedModeDetect (struct LPI2C_Type * baseAddr, boolean enable) { uint32 regValue; long unsigned int iftmp.6; : # DEBUG BEGIN_STMT regValue = baseAddr->SCFGR1; # DEBUG BEGIN_STMT regValue = regValue & 4294959103; # DEBUG BEGIN_STMT if (enable != 0) goto ; [INV] else goto ; [INV] : iftmp.6 = 8192; goto ; [INV] : iftmp.6 = 0; : regValue = iftmp.6 | regValue; # DEBUG BEGIN_STMT baseAddr->SCFGR1 = regValue; return; } LPI2C_Set_SlaveAddrConfig (struct LPI2C_Type * baseAddr, Lpi2c_Ip_SlaveAddressConfigType configuration) { uint32 tmp; : # DEBUG BEGIN_STMT tmp = baseAddr->SCFGR1; # DEBUG BEGIN_STMT tmp = tmp & 4294508543; # DEBUG BEGIN_STMT _1 = (long unsigned int) configuration; _2 = _1 << 16; _3 = _2 & 458752; tmp = tmp | _3; # DEBUG BEGIN_STMT baseAddr->SCFGR1 = tmp; return; } LPI2C_Set_SlaveTxDMA (struct LPI2C_Type * baseAddr, boolean enable) { uint32 regValue; long unsigned int iftmp.8; : # DEBUG BEGIN_STMT regValue = baseAddr->SDER; # DEBUG BEGIN_STMT regValue = regValue & 4294967294; # DEBUG BEGIN_STMT if (enable != 0) goto ; [INV] else goto ; [INV] : iftmp.8 = 1; goto ; [INV] : iftmp.8 = 0; : regValue = iftmp.8 | regValue; # DEBUG BEGIN_STMT baseAddr->SDER = regValue; return; } LPI2C_Set_SlaveRxDMA (struct LPI2C_Type * baseAddr, boolean enable) { uint32 regValue; long unsigned int iftmp.7; : # DEBUG BEGIN_STMT regValue = baseAddr->SDER; # DEBUG BEGIN_STMT regValue = regValue & 4294967293; # DEBUG BEGIN_STMT if (enable != 0) goto ; [INV] else goto ; [INV] : iftmp.7 = 2; goto ; [INV] : iftmp.7 = 0; : regValue = iftmp.7 | regValue; # DEBUG BEGIN_STMT baseAddr->SDER = regValue; return; } LPI2C_Get_SlaveInt (const struct LPI2C_Type * baseAddr, uint32 interrupts) { boolean hasInterrupts; uint32 tmp; boolean D.5572; : # DEBUG BEGIN_STMT tmp = baseAddr->SIER; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = tmp & interrupts; if (_1 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT hasInterrupts = 1; goto ; [INV] : # DEBUG BEGIN_STMT hasInterrupts = 0; : # DEBUG BEGIN_STMT D.5572 = hasInterrupts; return D.5572; } LPI2C_Set_SlaveInt (struct LPI2C_Type * baseAddr, uint32 interrupts, boolean enable) { uint32 tmp; : # DEBUG BEGIN_STMT tmp = baseAddr->SIER; # DEBUG BEGIN_STMT if (enable != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT tmp = tmp | interrupts; goto ; [INV] : # DEBUG BEGIN_STMT _1 = ~interrupts; tmp = tmp & _1; : # DEBUG BEGIN_STMT baseAddr->SIER = tmp; return; } LPI2C_Clear_SlaveRepeatedStartEvent (struct LPI2C_Type * baseAddr) { : # DEBUG BEGIN_STMT baseAddr->SSR = 256; return; } LPI2C_Clear_SlaveSTOPDetectEvent (struct LPI2C_Type * baseAddr) { : # DEBUG BEGIN_STMT baseAddr->SSR = 512; return; } LPI2C_Clear_SlaveBitErrorEvent (struct LPI2C_Type * baseAddr) { : # DEBUG BEGIN_STMT baseAddr->SSR = 1024; return; } LPI2C_Get_SlaveTransmitDataEvent (const struct LPI2C_Type * baseAddr) { uint32 regValue; boolean D.5556; : # DEBUG BEGIN_STMT regValue = baseAddr->SSR; # DEBUG BEGIN_STMT regValue = regValue & 1; # DEBUG BEGIN_STMT D.5556 = regValue != 0; return D.5556; } LPI2C_Get_SlaveReceiveDataEvent (const struct LPI2C_Type * baseAddr) { uint32 regValue; boolean D.5567; : # DEBUG BEGIN_STMT regValue = baseAddr->SSR; # DEBUG BEGIN_STMT _1 = regValue >> 1; regValue = _1 & 1; # DEBUG BEGIN_STMT D.5567 = regValue != 0; return D.5567; } LPI2C_Get_SlaveAddressValidEvent (const struct LPI2C_Type * baseAddr) { uint32 regValue; boolean D.5543; : # DEBUG BEGIN_STMT regValue = baseAddr->SSR; # DEBUG BEGIN_STMT _1 = regValue >> 2; regValue = _1 & 1; # DEBUG BEGIN_STMT D.5543 = regValue != 0; return D.5543; } LPI2C_Get_SlaveRepeatedStartEvent (const struct LPI2C_Type * baseAddr) { uint32 regValue; boolean D.5585; : # DEBUG BEGIN_STMT regValue = baseAddr->SSR; # DEBUG BEGIN_STMT _1 = regValue >> 8; regValue = _1 & 1; # DEBUG BEGIN_STMT D.5585 = regValue != 0; return D.5585; } LPI2C_Get_SlaveSTOPDetectEvent (const struct LPI2C_Type * baseAddr) { uint32 regValue; boolean D.5583; : # DEBUG BEGIN_STMT regValue = baseAddr->SSR; # DEBUG BEGIN_STMT _1 = regValue >> 9; regValue = _1 & 1; # DEBUG BEGIN_STMT D.5583 = regValue != 0; return D.5583; } LPI2C_Get_SlaveBitErrorEvent (const struct LPI2C_Type * baseAddr) { uint32 regValue; boolean D.5595; : # DEBUG BEGIN_STMT regValue = baseAddr->SSR; # DEBUG BEGIN_STMT _1 = regValue >> 10; regValue = _1 & 1; # DEBUG BEGIN_STMT D.5595 = regValue != 0; return D.5595; } LPI2C_Set_SlaveEnable (struct LPI2C_Type * baseAddr, boolean enable) { uint32 regValue; : # DEBUG BEGIN_STMT regValue = baseAddr->SCR; # DEBUG BEGIN_STMT regValue = regValue & 4294967294; # DEBUG BEGIN_STMT _1 = (long unsigned int) enable; regValue = regValue | _1; # DEBUG BEGIN_STMT baseAddr->SCR = regValue; return; } LPI2C_Get_MasterRxData (const struct LPI2C_Type * baseAddr) { uint32 tmp; uint8 D.5421; : # DEBUG BEGIN_STMT tmp = baseAddr->MRDR; # DEBUG BEGIN_STMT tmp = tmp & 255; # DEBUG BEGIN_STMT D.5421 = (uint8) tmp; return D.5421; } LPI2C_Cmd_MasterTransmit (struct LPI2C_Type * baseAddr, Lpi2c_Ip_MasterCommandType cmd, uint8 data) { : # DEBUG BEGIN_STMT _1 = (long unsigned int) cmd; _2 = _1 << 8; _3 = (long unsigned int) data; _4 = _2 + _3; baseAddr->MTDR = _4; return; } LPI2C_Get_MasterTxFIFOCount (const struct LPI2C_Type * baseAddr) { uint32 tmp; uint16 D.5322; : # DEBUG BEGIN_STMT tmp = baseAddr->MFSR; # DEBUG BEGIN_STMT tmp = tmp & 7; # DEBUG BEGIN_STMT D.5322 = (uint16) tmp; return D.5322; } LPI2C_Get_MasterRxFIFOCount (const struct LPI2C_Type * baseAddr) { uint32 tmp; uint16 D.5423; : # DEBUG BEGIN_STMT tmp = baseAddr->MFSR; # DEBUG BEGIN_STMT _1 = tmp >> 16; tmp = _1 & 7; # DEBUG BEGIN_STMT D.5423 = (uint16) tmp; return D.5423; } LPI2C_Set_MasterTxFIFOWatermark (struct LPI2C_Type * baseAddr, uint16 value) { uint32 tmp; : # DEBUG BEGIN_STMT tmp = baseAddr->MFCR; # DEBUG BEGIN_STMT tmp = tmp & 4294967292; # DEBUG BEGIN_STMT _1 = (long unsigned int) value; _2 = _1 & 3; tmp = tmp | _2; # DEBUG BEGIN_STMT baseAddr->MFCR = tmp; return; } LPI2C_Get_MasterRxFIFOWatermark (const struct LPI2C_Type * baseAddr) { uint32 tmp; uint16 D.5425; : # DEBUG BEGIN_STMT tmp = baseAddr->MFCR; # DEBUG BEGIN_STMT _1 = tmp >> 16; tmp = _1 & 3; # DEBUG BEGIN_STMT D.5425 = (uint16) tmp; return D.5425; } LPI2C_Set_MasterRxFIFOWatermark (struct LPI2C_Type * baseAddr, uint16 value) { uint32 tmp; : # DEBUG BEGIN_STMT tmp = baseAddr->MFCR; # DEBUG BEGIN_STMT tmp = tmp & 4294770687; # DEBUG BEGIN_STMT _1 = (long unsigned int) value; _2 = _1 << 16; _3 = _2 & 196608; tmp = tmp | _3; # DEBUG BEGIN_STMT baseAddr->MFCR = tmp; return; } LPI2C_Get_MasterClockLowPeriodHS (const struct LPI2C_Type * baseAddr) { uint32 tmp; uint8 D.5301; : # DEBUG BEGIN_STMT tmp = baseAddr->MCCR1; # DEBUG BEGIN_STMT tmp = tmp & 63; # DEBUG BEGIN_STMT D.5301 = (uint8) tmp; return D.5301; } LPI2C_Set_MasterClockLowPeriodHS (struct LPI2C_Type * baseAddr, uint8 value) { uint32 tmp; : # DEBUG BEGIN_STMT tmp = baseAddr->MCCR1; # DEBUG BEGIN_STMT tmp = tmp & 4294967232; # DEBUG BEGIN_STMT _1 = (long unsigned int) value; _2 = _1 & 63; tmp = tmp | _2; # DEBUG BEGIN_STMT baseAddr->MCCR1 = tmp; return; } LPI2C_Get_MasterClockHighPeriodHS (const struct LPI2C_Type * baseAddr) { uint32 tmp; uint8 D.5299; : # DEBUG BEGIN_STMT tmp = baseAddr->MCCR1; # DEBUG BEGIN_STMT _1 = tmp >> 8; tmp = _1 & 63; # DEBUG BEGIN_STMT D.5299 = (uint8) tmp; return D.5299; } LPI2C_Set_MasterClockHighPeriodHS (struct LPI2C_Type * baseAddr, uint8 value) { uint32 tmp; : # DEBUG BEGIN_STMT tmp = baseAddr->MCCR1; # DEBUG BEGIN_STMT tmp = tmp & 4294951167; # DEBUG BEGIN_STMT _1 = (long unsigned int) value; _2 = _1 << 8; _3 = _2 & 16128; tmp = tmp | _3; # DEBUG BEGIN_STMT baseAddr->MCCR1 = tmp; return; } LPI2C_Set_MasterSetupHoldDelayHS (struct LPI2C_Type * baseAddr, uint8 value) { uint32 tmp; : # DEBUG BEGIN_STMT tmp = baseAddr->MCCR1; # DEBUG BEGIN_STMT tmp = tmp & 4290838527; # DEBUG BEGIN_STMT _1 = (long unsigned int) value; _2 = _1 << 16; _3 = _2 & 4128768; tmp = tmp | _3; # DEBUG BEGIN_STMT baseAddr->MCCR1 = tmp; return; } LPI2C_Set_MasterDataValidDelayHS (struct LPI2C_Type * baseAddr, uint8 value) { uint32 tmp; : # DEBUG BEGIN_STMT tmp = baseAddr->MCCR1; # DEBUG BEGIN_STMT tmp = tmp & 3238002687; # DEBUG BEGIN_STMT _1 = (long unsigned int) value; _2 = _1 << 24; _3 = _2 & 1056964608; tmp = tmp | _3; # DEBUG BEGIN_STMT baseAddr->MCCR1 = tmp; return; } LPI2C_Get_MasterClockLowPeriod (const struct LPI2C_Type * baseAddr) { uint32 tmp; uint8 D.5297; : # DEBUG BEGIN_STMT tmp = baseAddr->MCCR0; # DEBUG BEGIN_STMT tmp = tmp & 63; # DEBUG BEGIN_STMT D.5297 = (uint8) tmp; return D.5297; } LPI2C_Set_MasterClockLowPeriod (struct LPI2C_Type * baseAddr, uint8 value) { uint32 tmp; : # DEBUG BEGIN_STMT tmp = baseAddr->MCCR0; # DEBUG BEGIN_STMT tmp = tmp & 4294967232; # DEBUG BEGIN_STMT _1 = (long unsigned int) value; _2 = _1 & 63; tmp = tmp | _2; # DEBUG BEGIN_STMT baseAddr->MCCR0 = tmp; return; } LPI2C_Set_MasterSetupHoldDelay (struct LPI2C_Type * baseAddr, uint8 value) { uint32 tmp; : # DEBUG BEGIN_STMT tmp = baseAddr->MCCR0; # DEBUG BEGIN_STMT tmp = tmp & 4290838527; # DEBUG BEGIN_STMT _1 = (long unsigned int) value; _2 = _1 << 16; _3 = _2 & 4128768; tmp = tmp | _3; # DEBUG BEGIN_STMT baseAddr->MCCR0 = tmp; return; } LPI2C_Set_MasterDataValidDelay (struct LPI2C_Type * baseAddr, uint8 value) { uint32 tmp; : # DEBUG BEGIN_STMT tmp = baseAddr->MCCR0; # DEBUG BEGIN_STMT tmp = tmp & 3238002687; # DEBUG BEGIN_STMT _1 = (long unsigned int) value; _2 = _1 << 24; _3 = _2 & 1056964608; tmp = tmp | _3; # DEBUG BEGIN_STMT baseAddr->MCCR0 = tmp; return; } LPI2C_Set_MasterClockHighPeriod (struct LPI2C_Type * baseAddr, uint8 value) { uint32 tmp; : # DEBUG BEGIN_STMT tmp = baseAddr->MCCR0; # DEBUG BEGIN_STMT tmp = tmp & 4294951167; # DEBUG BEGIN_STMT _1 = (long unsigned int) value; _2 = _1 << 8; _3 = _2 & 16128; tmp = tmp | _3; # DEBUG BEGIN_STMT baseAddr->MCCR0 = tmp; return; } LPI2C_Get_MasterClockHighPeriod (const struct LPI2C_Type * baseAddr) { uint32 tmp; uint8 D.5295; : # DEBUG BEGIN_STMT tmp = baseAddr->MCCR0; # DEBUG BEGIN_STMT _1 = tmp >> 8; tmp = _1 & 63; # DEBUG BEGIN_STMT D.5295 = (uint8) tmp; return D.5295; } LPI2C_Get_MasterPrescaler (const struct LPI2C_Type * baseAddr) { uint32 tmp; Lpi2c_Ip_MasterPrescalerType D.5293; : # DEBUG BEGIN_STMT tmp = baseAddr->MCFGR1; # DEBUG BEGIN_STMT tmp = tmp & 7; # DEBUG BEGIN_STMT D.5293 = (Lpi2c_Ip_MasterPrescalerType) tmp; return D.5293; } LPI2C_Set_MasterPrescaler (struct LPI2C_Type * baseAddr, Lpi2c_Ip_MasterPrescalerType prescaler) { uint32 tmp; : # DEBUG BEGIN_STMT tmp = baseAddr->MCFGR1; # DEBUG BEGIN_STMT tmp = tmp & 4294967288; # DEBUG BEGIN_STMT _1 = (long unsigned int) prescaler; _2 = _1 & 7; tmp = tmp | _2; # DEBUG BEGIN_STMT baseAddr->MCFGR1 = tmp; return; } LPI2C_Set_MasterNACKConfig (struct LPI2C_Type * baseAddr, Lpi2c_Ip_NackConfigType configuration) { uint32 regValue; : # DEBUG BEGIN_STMT regValue = baseAddr->MCFGR1; # DEBUG BEGIN_STMT regValue = regValue & 4294966783; # DEBUG BEGIN_STMT _1 = (long unsigned int) configuration; _2 = _1 << 9; _3 = _2 & 512; regValue = regValue | _3; # DEBUG BEGIN_STMT baseAddr->MCFGR1 = regValue; return; } LPI2C_Set_MasterBusIdleTimeout (struct LPI2C_Type * baseAddr, uint32 u32Timeout) { uint32 tmp; : # DEBUG BEGIN_STMT tmp = baseAddr->MCFGR2; # DEBUG BEGIN_STMT tmp = tmp & 4294963200; # DEBUG BEGIN_STMT _1 = u32Timeout & 4095; tmp = tmp | _1; # DEBUG BEGIN_STMT baseAddr->MCFGR2 = tmp; return; } LPI2C_Set_MasterPinLowTimeoutConfiguration (struct LPI2C_Type * baseAddr, boolean configuration) { uint32 tmp; long unsigned int iftmp.1; : # DEBUG BEGIN_STMT tmp = baseAddr->MCFGR1; # DEBUG BEGIN_STMT tmp = tmp & 4294966271; # DEBUG BEGIN_STMT if (configuration != 0) goto ; [INV] else goto ; [INV] : iftmp.1 = 1024; goto ; [INV] : iftmp.1 = 0; : tmp = iftmp.1 | tmp; # DEBUG BEGIN_STMT baseAddr->MCFGR1 = tmp; return; } LPI2C_Set_MasterPinLowTimeout (struct LPI2C_Type * baseAddr, uint32 u32Timeout) { uint32 tmp; : # DEBUG BEGIN_STMT tmp = baseAddr->MCFGR3; # DEBUG BEGIN_STMT tmp = tmp & 4293918975; # DEBUG BEGIN_STMT _1 = u32Timeout << 8; _2 = _1 & 1048320; tmp = tmp | _2; # DEBUG BEGIN_STMT baseAddr->MCFGR3 = tmp; return; } LPI2C_Set_SlaveGlitchFilterSCL (struct LPI2C_Type * baseAddr, uint32 cycles) { uint32 tmp; : # DEBUG BEGIN_STMT tmp = baseAddr->SCFGR2; # DEBUG BEGIN_STMT tmp = tmp & 4293984255; # DEBUG BEGIN_STMT _1 = cycles << 16; _2 = _1 & 983040; tmp = tmp | _2; # DEBUG BEGIN_STMT baseAddr->SCFGR2 = tmp; return; } LPI2C_Set_SlaveGlitchFilterSDA (struct LPI2C_Type * baseAddr, uint32 cycles) { uint32 tmp; : # DEBUG BEGIN_STMT tmp = baseAddr->SCFGR2; # DEBUG BEGIN_STMT tmp = tmp & 4043309055; # DEBUG BEGIN_STMT _1 = cycles << 24; _2 = _1 & 251658240; tmp = tmp | _2; # DEBUG BEGIN_STMT baseAddr->SCFGR2 = tmp; return; } LPI2C_Set_MasterGlitchFilterSCL (struct LPI2C_Type * baseAddr, uint32 cycles) { uint32 tmp; : # DEBUG BEGIN_STMT tmp = baseAddr->MCFGR2; # DEBUG BEGIN_STMT tmp = tmp & 4293984255; # DEBUG BEGIN_STMT _1 = cycles << 16; _2 = _1 & 983040; tmp = tmp | _2; # DEBUG BEGIN_STMT baseAddr->MCFGR2 = tmp; return; } LPI2C_Set_MasterGlitchFilterSDA (struct LPI2C_Type * baseAddr, uint32 cycles) { uint32 tmp; : # DEBUG BEGIN_STMT tmp = baseAddr->MCFGR2; # DEBUG BEGIN_STMT tmp = tmp & 4043309055; # DEBUG BEGIN_STMT _1 = cycles << 24; _2 = _1 & 251658240; tmp = tmp | _2; # DEBUG BEGIN_STMT baseAddr->MCFGR2 = tmp; return; } LPI2C_Set_MasterPinConfig (struct LPI2C_Type * baseAddr, Lpi2c_Ip_PinConfigType configuration) { uint32 tmp; : # DEBUG BEGIN_STMT tmp = baseAddr->MCFGR1; # DEBUG BEGIN_STMT tmp = tmp & 4177526783; # DEBUG BEGIN_STMT _1 = (long unsigned int) configuration; _2 = _1 << 24; _3 = _2 & 117440512; tmp = tmp | _3; # DEBUG BEGIN_STMT baseAddr->MCFGR1 = tmp; return; } LPI2C_Set_MasterInt (struct LPI2C_Type * baseAddr, uint32 interrupts, boolean enable) { uint32 tmp; : # DEBUG BEGIN_STMT tmp = baseAddr->MIER; # DEBUG BEGIN_STMT if (enable != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT tmp = tmp | interrupts; goto ; [INV] : # DEBUG BEGIN_STMT _1 = ~interrupts; tmp = tmp & _1; : # DEBUG BEGIN_STMT baseAddr->MIER = tmp; return; } LPI2C_Clear_MasterPinLowTimeoutEvent (struct LPI2C_Type * baseAddr) { : # DEBUG BEGIN_STMT baseAddr->MSR = 8192; return; } LPI2C_Clear_MasterNACKDetectEvent (struct LPI2C_Type * baseAddr) { : # DEBUG BEGIN_STMT baseAddr->MSR = 1024; return; } LPI2C_Clear_MasterArbitrationLostEvent (struct LPI2C_Type * baseAddr) { : # DEBUG BEGIN_STMT baseAddr->MSR = 2048; return; } LPI2C_Clear_MasterFIFOErrorEvent (struct LPI2C_Type * baseAddr) { : # DEBUG BEGIN_STMT baseAddr->MSR = 4096; return; } LPI2C_Get_MasterPinLowTimeoutEvent (const struct LPI2C_Type * baseAddr) { uint32 regValue; boolean D.5462; : # DEBUG BEGIN_STMT regValue = baseAddr->MSR; # DEBUG BEGIN_STMT _1 = regValue >> 13; regValue = _1 & 1; # DEBUG BEGIN_STMT D.5462 = regValue != 0; return D.5462; } LPI2C_Get_MasterNACKDetectEvent (const struct LPI2C_Type * baseAddr) { uint32 regValue; boolean D.5383; : # DEBUG BEGIN_STMT regValue = baseAddr->MSR; # DEBUG BEGIN_STMT _1 = regValue >> 10; regValue = _1 & 1; # DEBUG BEGIN_STMT D.5383 = regValue != 0; return D.5383; } LPI2C_Get_MasterArbitrationLostEvent (const struct LPI2C_Type * baseAddr) { uint32 regValue; boolean D.5379; : # DEBUG BEGIN_STMT regValue = baseAddr->MSR; # DEBUG BEGIN_STMT _1 = regValue >> 11; regValue = _1 & 1; # DEBUG BEGIN_STMT D.5379 = regValue != 0; return D.5379; } LPI2C_Get_MasterFIFOErrorEvent (const struct LPI2C_Type * baseAddr) { uint32 regValue; boolean D.5373; : # DEBUG BEGIN_STMT regValue = baseAddr->MSR; # DEBUG BEGIN_STMT _1 = regValue >> 12; regValue = _1 & 1; # DEBUG BEGIN_STMT D.5373 = regValue != 0; return D.5373; } LPI2C_Get_MasterTransmitDataRequestEvent (const struct LPI2C_Type * baseAddr) { uint32 regValue; boolean D.5358; : # DEBUG BEGIN_STMT regValue = baseAddr->MSR; # DEBUG BEGIN_STMT regValue = regValue & 1; # DEBUG BEGIN_STMT D.5358 = regValue != 0; return D.5358; } LPI2C_Get_MasterReceiveDataReadyEvent (const struct LPI2C_Type * baseAddr) { uint32 regValue; boolean D.5418; : # DEBUG BEGIN_STMT regValue = baseAddr->MSR; # DEBUG BEGIN_STMT _1 = regValue >> 1; regValue = _1 & 1; # DEBUG BEGIN_STMT D.5418 = regValue != 0; return D.5418; } LPI2C_Set_MasterEnable (struct LPI2C_Type * baseAddr, boolean enable) { uint32 regValue; long unsigned int iftmp.0; : # DEBUG BEGIN_STMT regValue = baseAddr->MCR; # DEBUG BEGIN_STMT regValue = regValue & 4294967294; # DEBUG BEGIN_STMT if (enable != 0) goto ; [INV] else goto ; [INV] : iftmp.0 = 1; goto ; [INV] : iftmp.0 = 0; : regValue = iftmp.0 | regValue; # DEBUG BEGIN_STMT baseAddr->MCR = regValue; return; } LPI2C_Reset_MasterTxFIFOCmd (struct LPI2C_Type * baseAddr) { uint32 regValue; : # DEBUG BEGIN_STMT regValue = baseAddr->MCR; # DEBUG BEGIN_STMT regValue = regValue & 4294967039; # DEBUG BEGIN_STMT regValue = regValue | 256; # DEBUG BEGIN_STMT baseAddr->MCR = regValue; return; } LPI2C_Reset_MasterRxFIFOCmd (struct LPI2C_Type * baseAddr) { uint32 regValue; : # DEBUG BEGIN_STMT regValue = baseAddr->MCR; # DEBUG BEGIN_STMT regValue = regValue & 4294966783; # DEBUG BEGIN_STMT regValue = regValue | 512; # DEBUG BEGIN_STMT baseAddr->MCR = regValue; return; } LPI2C_Get_MasterTxFIFOSize (const struct LPI2C_Type * baseAddr) { uint32 tmp; uint16 D.5324; : # DEBUG BEGIN_STMT tmp = baseAddr->PARAM; # DEBUG BEGIN_STMT tmp = tmp & 15; # DEBUG BEGIN_STMT tmp = 1 << tmp; # DEBUG BEGIN_STMT D.5324 = (uint16) tmp; return D.5324; } LPI2C_Get_MasterRxFIFOSize (const struct LPI2C_Type * baseAddr) { uint32 tmp; uint16 D.5397; : # DEBUG BEGIN_STMT tmp = baseAddr->PARAM; # DEBUG BEGIN_STMT _1 = tmp >> 8; tmp = _1 & 15; # DEBUG BEGIN_STMT tmp = 1 << tmp; # DEBUG BEGIN_STMT D.5397 = (uint16) tmp; return D.5397; }