123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 |
- /*
- * @file hv_drv_I2c.h
- * @brief Header file of misc module.
- *
- * @verbatim
- * ==============================================================================
- * ##### How to use #####
- * ==============================================================================
- * (+) Use ()
- *
- * @endverbatim
- * @author HiView SoC Software Team
- * @version 1.0.0
- * @date 2023-05-08
- */
- #ifndef _HV_DRV_I2C_H
- #define _HV_DRV_I2C_H
- /** @defgroup DRV_I2C DRV_I2C
- * drv i2c functions
- * @{
- */
- /** Initialize i2c
- * @param pstInitParam pointer to i2c configuration parameters
- * @return i2c handler
- */
- HvCalI2c* Hv_Drv_I2C_Init(I2cInitParam *pstInitParam);
- /** Set i2c transfer speed
- * @param pstSelf i2c handler
- * @param enI2cSpeed i2c transfer speed
- */
- void Hv_Drv_I2c_Setpeed(HvCalI2c *pstSelf, I2cSpeed enI2cSpeed );
- /** De-initialize i2c
- * @param pstSelf i2c handler
- * @return result
- */
- Status Hv_Drv_I2C_Cleanup(HvCalI2c *pstSelf);
- USHORT16 Hv_Drv_I2C_GetRxDataCount(HvCalI2c *pstSelf);
- /** Transmits in master mode an amount of data in blocking mode.
- * @param pstSelf i2c handler
- * @param pstParam target device address
- * pointer to command data buffer
- * command length
- * pointer to data buffer to be transmited
- * amount of data to be sent
- * @param uiTimeout uiTimeout duration
- * @retval Status
- */
- Status Hv_Drv_I2C_MasterPollingTransmit(HvCalI2c *pstSelf, I2cFuncParam *pstParam, UINT32 uiTimeout);
- /** Transmit in master mode an amount of data in non-blocking mode with interrupt
- * @param pstSelf i2c handler
- * @param pstParam target device address
- * pointer to command data buffer
- * command length
- * pointer to data buffer to be transmited
- * amount of data to be sent
- * @retval Status
- */
- Status Hv_Drv_I2C_MasterIntTransmit(HvCalI2c *pstSelf, I2cFuncParam *pstParam);
- /** Receives in master mode an amount of data in blocking mode.
- * @param pstSelf i2c handler
- * @param pstParam target device address
- * pointer to command data buffer
- * command length
- * pointer to data buffer to be receive
- * amount of data to be receive
- * @param uiTimeout uiTimeout duration
- * @retval Status
- */
- Status Hv_Drv_I2C_MasterPollingReceive(HvCalI2c *pstSelf, I2cFuncParam *pstParam, UINT32 uiTimeout);
- /** Receive in master mode an amount of data in non-blocking mode with interrupt
- * @param pstSelf i2c handler
- * @param pstParam target device address
- * pointer to command data buffer
- * command length
- * pointer to data buffer to be receive
- * amount of data to be receive
- * @retval Status
- */
- Status Hv_Drv_I2C_MasterIntReceive(HvCalI2c *pstSelf, I2cFuncParam *pstParam);
- /** Transmits in slave mode an amount of data in blocking mode.
- * @param pstSelf i2c handler
- * @param pucData pointer to data buffer
- * @param usSize amount of data to be sent
- * @param uiTimeout uiTimeout duration
- * @retval Status
- */
- Status Hv_Drv_I2C_SlavePollingTransmit(HvCalI2c *pstSelf, UCHAR8 *pucData, USHORT16 usSize, UINT32 uiTimeout);
- /** Transmit in slave mode an amount of data in non-blocking mode with interrupt
- * @param pstSelf i2c handler
- * @param pucData pointer to data buffer
- * @param usSize amount of data to be sent
- * @retval Status
- */
- Status Hv_Drv_I2C_SlaveIntTransmit(HvCalI2c *pstSelf, UCHAR8 *pucData, USHORT16 usSize);
- /** Receive in slave mode an amount of data in blocking mode
- * @param pstSelf i2c handler
- * @param pucData pointer to data buffer
- * @param usSize amount of data to be sent
- * @param uiTimeout uiTimeout duration
- * @retval Status
- */
- Status Hv_Drv_I2C_SlavePollingReceive(HvCalI2c *pstSelf, UCHAR8 *pucData, USHORT16 usSize, UINT32 uiTimeout);
- /** Receive in slave mode an amount of data in non-blocking mode with interrupt
- * @param pstSelf i2c handler
- * @param pucData pointer to data buffer
- * @param usSize amount of data to be sent
- * @retval Status
- */
- Status Hv_Drv_I2C_SlaveIntReceive(HvCalI2c *pstSelf, UCHAR8 *pucData);
- /** Receive in slave mode an amount of data in non-blocking mode with interrupt
- * @param pstSelf i2c handler
- * @retval is or not
- */
- BOOL Hv_Drv_I2C_TransferIsComplete(HvCalI2c *pstSelf);
- /** @} */
- #endif
|