diff -r 578be2adaf3e -r 307f4279f433 Adaptation/GUID-70041B11-4C03-42C6-9EC2-307E5FF0F626.dita --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Adaptation/GUID-70041B11-4C03-42C6-9EC2-307E5FF0F626.dita Fri Oct 15 14:32:18 2010 +0100 @@ -0,0 +1,165 @@ + + + + + +IIC Interface OverviewProvides a summary of IIC interface. +

The IIC platform service provides APIs for a master channel and +a slave channel. The PIL provides the generic platform independent +functionality.

+
+ Master channel

You must derive a +class from DIicBusChannelMaster and implement certain +pure virtual functions.

+ + + +API +Description + + + + +DIicBusChannelMaster::DoRequest(TIicBusTransaction* +aTransaction) +Gateway function for the PSL implementation. This function +allows the client to request a new channel. + + +DIicBusChannelMaster::DoCreate() +Second phase constructor to create a new channel. + + +DIicBusChannelMaster::HandleSlaveTimeout() +Function to be called in the event of slave time out. Implement +this function to stop the transmission, disable the hardware or call +PIL function CompleteRequest(). + + +DIicBusChannelMaster::CheckHdr() +Function to check if the header of the transaction is valid. + + + +
+
PIL +functions for master channelThe following functions can be +used by the platform specific implementation of the IIC platform services. + + + +API +Description + + + + + DIicBusChannelMaster::Init() +Initialise the child class DIicBusChannelMaster. + + +DIicBusChannelMaster::SetDfcQ() +To set the IIC driver's DFC queue to be used by the DFC of +PIL. + + +DIicBusChannelMaster::StartSlaveTimeOutTimer() +To start a timer to wait for the slave class functions, if +the time expires the HandleSlaveTimeout() call +up function is invoked by the clients. + + +DIicBusChannelMaster::CancelTimeOut() +To cancel the timer monitoring the transactions. + + +DIicBusChannelMaster::CompleteRequest() +To notify the PIL of a completed transaction + + + +
+
Slave +channelYou must derive a class from DIicBusChannelSlave and implement the following pure virtual functions: + + + +API +Description + + + + + DIicBusChannelSlave::DoRequest() +The gateway function to the SHAI implementation layer. + + + DIicBusChannelSlave::DoCreate() +The second phase constructor function to create a new channel. + + + DIicBusChannelSlave::ProcessData() + Called by the PIL in response to the DIicBusChannelSlave::NotifyClient() function. + + + DIicBusChannelSlave::ChechHdr() +The function to validate a configuration. + + + +
+
PIL +function for slave channelThe following are the generic functions +provided by the PIL of the IIC platform service: + + + +API +Description + + + + +DIicBusChannelSlave::DIicBusChannelSlave() +Constructor function for PIL. + + +DIicBusChannelSlave::Init() +Initialise the slave channel. + + +DIicBusChannelSlave::SetMasterWaitTime() +Set the timer to wait for the master channel to respond after +a transmission is started. + + +DIicBusChannelSlave::GetMasterWaitTime() +Get the current delay to wait for the master channel to respond +after a transmission is started. + + +DIicBusChannelSlave::SetClientWaitTime() +Set the timer of the client to respond for the next operation. + + +DIicBusChannelSlave::GetClientWaitTime() +Get the current delay of the client to respond for the next +operation. + + +DIicBusChannelSlave::NotifyClient() +Notify clients of the slave channel events. + + + +

The header file for the IIC can be found here

+
+IIC +Implementation Guide +
\ No newline at end of file