24.05.2014 Views

Embedded Application Programming Interface - picmg

Embedded Application Programming Interface - picmg

Embedded Application Programming Interface - picmg

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

*<br />

| EAPI_STATUS_NOT_FOUND<br />

* startAckNak | EAPI_STATUS_WRITE_ERROR<br />

* startAckNak | EAPI_STATUS_WRITE_ERROR<br />

* ByteCnt>BufLen | EAPI_STATUS_MORE_DATA<br />

* Common Error | Common Error Code<br />

* Else | EAPI_STATUS_SUCCESS<br />

*/<br />

EApiStatus_t<br />

EAPI_CALLTYPE<br />

EApiI2CReadTransfer(<br />

__IN EApiId_t Id , /* I2C Bus Id */<br />

__IN uint32_t Addr , /* Encoded 7/10Bit I2C<br />

* Device Address<br />

*/<br />

__IN uint32_t Cmd , /* I2C Command/Offset */<br />

__OUT void *pBuffer , /* Transfer Data pBuffer */<br />

__IN uint32_t BufLen , /* Data pBuffer Length */<br />

__IN uint32_t ByteCnt /* Byte Count to read */<br />

);<br />

/*<br />

* EApiI2CWriteTransfer<br />

* Addr Byte 1 Below Designates Addr MSB in a 10bit address transfer and<br />

* the complete address in an 7bit address transfer.<br />

*<br />

* Condition | Return Values<br />

* ---------------------------------------+------------------------------<br />

* Library Uninitialized | EAPI_STATUS_NOT_INITIALIZED<br />

* pBuffer==NULL | EAPI_STATUS_INVALID_PARAMETER<br />

* ByteCnt==0 | EAPI_STATUS_INVALID_PARAMETER<br />

* unknown Id | EAPI_STATUS_UNSUPPORTED<br />

* ByteCnt+(overhead)>pMaxBlkLen | EAPI_STATUS_INVALID_BLOCK_LENGTH<br />

* Bus Busy SDA/SDC low | EAPI_STATUS_BUSY_COLLISION<br />

* Arbitration Error/Collision Error | EAPI_STATUS_BUSY_COLLISION<br />

* On Write 1 write cycle |<br />

* SDA Remains low |<br />

* Time-out due to clock stretching | EAPI_STATUS_TIMEOUT<br />

* startNak | EAPI_STATUS_NOT_FOUND<br />

* startNak | EAPI_STATUS_NOT_FOUND<br />

* startAckNak | EAPI_STATUS_WRITE_ERROR or<br />

* | EAPI_STATUS_NOT_FOUND<br />

* startAckNak | EAPI_STATUS_WRITE_ERROR<br />

* startAckNak | EAPI_STATUS_WRITE_ERROR<br />

* Common Error | Common Error Code<br />

* Else | EAPI_STATUS_SUCCESS<br />

*/<br />

EApiStatus_t<br />

EAPI_CALLTYPE<br />

EApiI2CWriteTransfer(<br />

__IN EApiId_t Id , /* I2C Bus Id */<br />

__IN uint32_t Addr<br />

, /* Encoded 7/10Bit I2C<br />

* Device Address<br />

*/<br />

__IN uint32_t Cmd , /* I2C Command/Offset */<br />

__IN void *pBuffer , /* Transfer Data pBuffer */<br />

__IN uint32_t ByteCnt /* Byte Count to write */<br />

);<br />

/*<br />

* I2C Probe Types<br />

*<br />

* Probe Type 1:<br />

* Address Format : 7Bit<br />

* StartAck Stop<br />

*<br />

* Probe Type 2:<br />

* Address Format : 10Bit<br />

* StartAckAck Stop<br />

*<br />

*/<br />

/*<br />

* EApiI2CProbeDevice<br />

*<br />

* Condition | Return Values<br />

* ---------------------------------------------+------------------------------<br />

* Library Uninitialized | EAPI_STATUS_NOT_INITIALIZED<br />

* Bus Busy SDA/SDC low | EAPI_STATUS_BUSY_COLLISION<br />

PICMG® EAPI R1.0, August 8, 2010 page 66 of 83

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!