Initial import of NFC GNSS SDK project
This commit is contained in:
@@ -0,0 +1,143 @@
|
||||
/*================================================================
|
||||
Copyright (c) 2022, Quectel Wireless Solutions Co., Ltd. All rights reserved.
|
||||
Quectel Wireless Solutions Proprietary and Confidential.
|
||||
=================================================================*/
|
||||
|
||||
#ifndef _QL_IIC_H
|
||||
#define _QL_IIC_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef enum
|
||||
{
|
||||
QL_STANDARD_MODE = 0, /*100Kbps*/
|
||||
QL_FAST_MODE = 1, /*400Kbps*/
|
||||
QL_HS_MODE = 2, /*3.4 Mbps slave/3.3 Mbps master,standard mode when not doing a high speed transfer*/
|
||||
QL_HS_MODE_FAST = 3, /*3.4 Mbps slave/3.3 Mbps master,fast mode when not doing a high speed transfer*/
|
||||
} QL_I2C_MODE_E;
|
||||
|
||||
/*****************************************************************
|
||||
* Function: ql_i2c_init
|
||||
*
|
||||
* Description:
|
||||
* This function initialize the configurations for an IIC channel.
|
||||
* including the specified pins for IIC, IIC type, and IIC channel No.
|
||||
*
|
||||
* Parameters:
|
||||
* i2c_no:
|
||||
* i2c channel No, the range is 0 or 2,EC100Y set 0,EC600S set 1.
|
||||
*
|
||||
* fastMode:
|
||||
* i2c clock speed,refer to struct QL_I2C_MODE_E.
|
||||
* Now only support STANDARD_MODE and FAST_MODE.
|
||||
* Return:
|
||||
* 0 , the function execution succeed.
|
||||
* -1, the parameter error.
|
||||
*****************************************************************/
|
||||
int ql_i2c_init(unsigned char i2c_no, unsigned int fastMode);
|
||||
|
||||
/*****************************************************************
|
||||
* Function: ql_i2c_write
|
||||
* Description:
|
||||
* This function initialize the configurations for an IIC channel.
|
||||
* including the specified pins for IIC, IIC type, and IIC channel No.
|
||||
*
|
||||
* Parameters:
|
||||
* i2c_no : i2c channel No, the range is 0 or 2,EC100Y set 0,EC600S set 1.
|
||||
* slaveaddress: slave address
|
||||
* addr : Address of the register that stores data
|
||||
* data : write data buffer
|
||||
* datalen : data length
|
||||
* Return:
|
||||
* 0 , the function execution succeed.
|
||||
* -1, the parameter error.
|
||||
*****************************************************************/
|
||||
int ql_i2c_write(unsigned char i2c_no, unsigned short slaveaddress, unsigned short addr, unsigned char *data, unsigned int datalen);
|
||||
|
||||
/*****************************************************************
|
||||
* Function: ql_i2c_read
|
||||
* Description:
|
||||
* This function initialize the configurations for an IIC channel.
|
||||
* including the specified pins for IIC, IIC type, and IIC channel No.
|
||||
*
|
||||
* Parameters:
|
||||
* i2c_no : i2c channel No, the range is 0 or 2,EC100Y set 0,EC600S set 1.
|
||||
* slaveaddress: slave address
|
||||
* addr : Register address to read data from
|
||||
* data : read data buffer
|
||||
* datalen : data length
|
||||
* Return:
|
||||
* 0 , the function execution succeed.
|
||||
* -1, the parameter error.
|
||||
*****************************************************************/
|
||||
int ql_i2c_read(unsigned char i2c_no, unsigned short slaveaddress, unsigned short addr, unsigned char *data, unsigned int datalen);
|
||||
|
||||
/*****************************************************************
|
||||
* Function: quec_i2c_read_with_delay
|
||||
* Description:
|
||||
* This function reads data from an I2C device with a configurable delay
|
||||
* after writing the register address and before sending the read request.
|
||||
* The function first writes the register address to the device, then waits
|
||||
* for the specified delay time, and finally reads the data from the register.
|
||||
*
|
||||
* Parameters:
|
||||
* i2c_no : i2c channel No, the range is 0 or 2,EC100Y set 0,EC600S set 1.
|
||||
* slaveaddress: slave address
|
||||
* addr : Register address to read data from
|
||||
* data : read data buffer
|
||||
* datalen : data length
|
||||
* delay_ms: After writing the register address, delay for the specified number of milliseconds before sending the read request
|
||||
* Return:
|
||||
* 0 , the function execution succeed.
|
||||
* -1, the parameter error.
|
||||
*****************************************************************/
|
||||
int ql_i2c_read_with_delay(unsigned char i2c_no, unsigned short slaveaddress, unsigned short addr, unsigned char *data, unsigned int datalen, unsigned int delay_ms);
|
||||
|
||||
/*****************************************************************
|
||||
* Function: ql_i2c_write_ext
|
||||
* Description:
|
||||
* This function initialize the configurations for an IIC channel.
|
||||
* including the specified pins for IIC, IIC type, and IIC channel No.
|
||||
*
|
||||
* Parameters:
|
||||
* i2c_no : i2c channel No, the range is 0 or 2,EC100Y set 0,EC600S set 1.
|
||||
* slaveaddress: slave address
|
||||
* addr : Address of the register that stores data
|
||||
* addrlen : length of the register
|
||||
* data : write data buffer
|
||||
* datalen : data length
|
||||
* Return:
|
||||
* 0 , the function execution succeed.
|
||||
* -1, the parameter error.
|
||||
*****************************************************************/
|
||||
int ql_i2c_write_ext(unsigned char i2c_no, unsigned char slaveaddress,unsigned char *addr,unsigned int addrlen, unsigned char *data, unsigned int datalen);
|
||||
|
||||
/*****************************************************************
|
||||
* Function: ql_i2c_read_ext
|
||||
* Description:
|
||||
* This function initialize the configurations for an IIC channel.
|
||||
* including the specified pins for IIC, IIC type, and IIC channel No.
|
||||
*
|
||||
* Parameters:
|
||||
* i2c_no : i2c channel No, the range is 0 or 2,EC100Y set 0,EC600S set 1.
|
||||
* slaveaddress: slave address
|
||||
* addr : Register address to read data from
|
||||
* addrlen : length of the register
|
||||
* data : read data buffer
|
||||
* datalen : data length
|
||||
* Return:
|
||||
* 0 , the function execution succeed.
|
||||
* -1, the parameter error.
|
||||
*****************************************************************/
|
||||
int ql_i2c_read_ext(unsigned char i2c_no, unsigned char slaveaddress, unsigned char *addr,unsigned int addrlen, unsigned char *data, unsigned int datalen);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /*"C" */
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user