Embedded Application Programming Interface - picmg
Embedded Application Programming Interface - picmg
Embedded Application Programming Interface - picmg
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