kerneltest/e32test/iic/iic_psl/iic_slaveclient.cpp
changeset 90 947f0dc9f7a8
parent 0 a41df078684a
child 199 189ece41fa29
equal deleted inserted replaced
52:2d65c2f76d7b 90:947f0dc9f7a8
    65 	}
    65 	}
    66 
    66 
    67 class DIicSlaveClientChan : public DBase
    67 class DIicSlaveClientChan : public DBase
    68 	{
    68 	{
    69 public:
    69 public:
    70 	DIicSlaveClientChan(DIicBusChannel* aChan, TInt8 aChanNum, TInt aChanType):iChan(aChan),iChanNumber(aChanNum),iChanType(aChanType){};
    70 	DIicSlaveClientChan(DIicBusChannel* aChan, TInt8 aChanNum, TInt aChanType):iChanNumber(aChanNum),iChanType(aChanType),iChan(aChan){};
    71 	~DIicSlaveClientChan();
    71 	~DIicSlaveClientChan();
    72 	TInt GetChanNum()const {return iChanNumber;};
    72 	TInt GetChanNum()const {return iChanNumber;};
    73 	TInt GetChanType()const {return iChanType;};
    73 	TInt GetChanType()const {return iChanType;};
    74 	DIicBusChannel* GetChannelPtr(){return iChan;};
    74 	DIicBusChannel* GetChannelPtr(){return iChan;};
    75 private:
    75 private:
   205 
   205 
   206 	TInt iExpectedTrigger;
   206 	TInt iExpectedTrigger;
   207 	TInt iFullDuplexReq;
   207 	TInt iFullDuplexReq;
   208 	TInt iBlockedTrigger;
   208 	TInt iBlockedTrigger;
   209 
   209 
   210 	typedef enum TTestOverUnderState
   210 	enum TTestOverUnderState
   211 		{
   211 		{
   212 		EStartState  = 0x1,
   212 		EStartState  = 0x1,
   213 		ERxOverrun_1,
   213 		ERxOverrun_1,
   214 		ERxOverrun_2,
   214 		ERxOverrun_2,
   215 		ETxUnderrun_1,
   215 		ETxUnderrun_1,
  1414 				tempTrigger |= ETxUnderrun;
  1414 				tempTrigger |= ETxUnderrun;
  1415 			if(iExpectedTrigger != EGeneralBusError)
  1415 			if(iExpectedTrigger != EGeneralBusError)
  1416 				iExpectedTrigger |= tempTrigger;
  1416 				iExpectedTrigger |= tempTrigger;
  1417 			else
  1417 			else
  1418 				iBlockedTrigger |= tempTrigger;
  1418 				iBlockedTrigger |= tempTrigger;
  1419 
       
  1420 			// The bytes "transmitted" are stored in the simulated bus' iTxCheckBuf
  1419 			// The bytes "transmitted" are stored in the simulated bus' iTxCheckBuf
  1421 			// Since the simulated bus channel is also in the kernel process it shares the same address space
  1420 			// Since the simulated bus channel is also in the kernel process it shares the same address space
  1422 			// Get the address of the buffer
  1421 			// Get the address of the buffer
  1423 			// As part of the callback invoked by IIC, this client will check the data stored by the simulated
  1422 			// As part of the callback invoked by IIC, this client will check the data stored by the simulated
  1424 			// bus. Since the simulated bus channel is also in the kernel process it shares the same address space,
  1423 			// bus. Since the simulated bus channel is also in the kernel process it shares the same address space,
  1466 
  1465 
  1467 			if(iExpectedTrigger != EGeneralBusError)
  1466 			if(iExpectedTrigger != EGeneralBusError)
  1468 				iExpectedTrigger |= tempTrigger;
  1467 				iExpectedTrigger |= tempTrigger;
  1469 			else
  1468 			else
  1470 				iBlockedTrigger |= tempTrigger;
  1469 				iBlockedTrigger |= tempTrigger;
  1471 
       
  1472 			// The bytes "transmitted" are stored in the simulated bus' iTxCheckBuf
  1470 			// The bytes "transmitted" are stored in the simulated bus' iTxCheckBuf
  1473 			// Since the simulated bus channel is also in the kernel process it shares the same address space
  1471 			// Since the simulated bus channel is also in the kernel process it shares the same address space
  1474 			// Get the address of the buffer
  1472 			// Get the address of the buffer
  1475 			// As part of the callback invoked by IIC, this client will check the data stored by the simulated
  1473 			// As part of the callback invoked by IIC, this client will check the data stored by the simulated
  1476 			// bus. Since the simulated bus channel is also in the kernel process it shares the same address space,
  1474 			// bus. Since the simulated bus channel is also in the kernel process it shares the same address space,