312 lines
9.2 KiB
C
312 lines
9.2 KiB
C
/*================================================================
|
||
Copyright (c) 2021, Quectel Wireless Solutions Co., Ltd. All rights reserved.
|
||
Quectel Wireless Solutions Proprietary and Confidential.
|
||
=================================================================*/
|
||
|
||
#ifndef _QL_DEV_H
|
||
#define _QL_DEV_H
|
||
|
||
typedef enum
|
||
{
|
||
QL_DEV_SIM_0,
|
||
QL_DEV_SIM_1,
|
||
QL_NUM_OF_DEV_SIM,
|
||
}QL_Dev_SimID;
|
||
|
||
typedef enum
|
||
{
|
||
QL_DEV_SUCCESS,
|
||
QL_DEV_GENERIC_FAILURE,
|
||
}QL_DEV_ERROR_CODE;
|
||
|
||
typedef enum
|
||
{
|
||
QL_DEV_MODEM_MIN_FUN = 0 , //modem最小功能
|
||
QL_DEV_MODEM_FULL_FUN, //modem全功能
|
||
QL_DEV_MODEM_DISABLE_RECEIVE_RF_CIRCUITS=3, //modem关闭射频接收电路
|
||
QL_DEV_MODEM_DISABLE_TRANSMIT_AND_RECEIVE_RF_CIRCUITS, //modem关闭射频发射和接收电路
|
||
QL_DEV_MODEM_DISABLE_SIM, //modem关闭 SIM卡
|
||
QL_DEV_MODEM_TURN_OFF_FULL_SECONDARY_RECEIVE, //modem完全关闭辅助接收
|
||
}QL_DEV_MODEM_FUNCTION;
|
||
|
||
/*****************************************************************
|
||
* Function: ql_dev_get_model
|
||
*
|
||
* Description:
|
||
* 获取设备型号。
|
||
*
|
||
* Parameters:
|
||
* model [out] 设备型号,字符串。
|
||
* model_len [in] model 数组的长度。
|
||
*
|
||
* Return:
|
||
* QL_DEV_SUCCESS 成功。
|
||
* QL_DEV_GENERIC_FAILURE 失败。
|
||
*
|
||
*****************************************************************/
|
||
QL_DEV_ERROR_CODE ql_dev_get_model(char*model,unsigned int model_len);
|
||
|
||
|
||
|
||
/*****************************************************************
|
||
* Function: ql_dev_get_sn
|
||
*
|
||
* Description:
|
||
* 获取设备 SN。
|
||
*
|
||
* Parameters:
|
||
* sn [out] 设备 SN,字符串。
|
||
* sn_len [in] sn 数组的长度
|
||
*
|
||
* Return:
|
||
* QL_DEV_SUCCESS 成功。
|
||
* QL_DEV_GENERIC_FAILURE 失败。
|
||
*
|
||
*****************************************************************/
|
||
QL_DEV_ERROR_CODE ql_dev_get_sn(char*sn, unsigned int sn_len);
|
||
|
||
/*****************************************************************
|
||
* Function: ql_dev_set_modem_fun
|
||
*
|
||
* Description:
|
||
* 设置设备的 modem 功能。
|
||
*
|
||
* Parameters:
|
||
* function [in] 需要设置的 modem 功能,见 4.1 QL_DEV_MODEM_FUNCTION。
|
||
* rst [in] 设置 modem 功能前,是否重启 modem。0:不重启;1:重启。
|
||
*
|
||
* Return:
|
||
* QL_DEV_SUCCESS 成功。
|
||
* QL_DEV_GENERIC_FAILURE 失败。
|
||
*
|
||
*****************************************************************/
|
||
QL_DEV_ERROR_CODE ql_dev_set_modem_fun(QL_DEV_MODEM_FUNCTION function,int rst);
|
||
|
||
/*****************************************************************
|
||
* Function: ql_dev_get_modem_fun
|
||
*
|
||
* Description:
|
||
* 获取设备的 modem 当前的功能。
|
||
*
|
||
* Parameters:
|
||
* function [out] 返回设备的 modem 当前的功能,值含义见 4.1 QL_DEV_MODEM_FUNCTION。
|
||
*
|
||
* Return:
|
||
* QL_DEV_SUCCESS 成功。
|
||
* QL_DEV_GENERIC_FAILURE 失败。
|
||
*
|
||
*****************************************************************/
|
||
QL_DEV_ERROR_CODE ql_dev_get_modem_fun(int* function);
|
||
|
||
/*****************************************************************
|
||
* Function: ql_dev_get_firmware_version
|
||
*
|
||
* Description:
|
||
* 获取设备的固件版本。
|
||
*
|
||
* Parameters:
|
||
* version [out] 设备的固件版本,字符串。
|
||
* version_len [in] version 数组的长度
|
||
*
|
||
* Return:
|
||
* QL_DEV_SUCCESS 成功。
|
||
* QL_DEV_GENERIC_FAILURE 失败。
|
||
*
|
||
*****************************************************************/
|
||
QL_DEV_ERROR_CODE ql_dev_get_firmware_version(char *version,unsigned int version_len);
|
||
|
||
/*****************************************************************
|
||
* Function: ql_dev_get_firmware_version
|
||
*
|
||
* Description:
|
||
* 获取客户设备的固件版本。
|
||
*
|
||
* Parameters:
|
||
* version [out] 客户设备的固件版本,字符串。
|
||
* version_len [in] version 数组的长度
|
||
*
|
||
* Return:
|
||
* QL_DEV_SUCCESS 成功。
|
||
* QL_DEV_GENERIC_FAILURE 失败。
|
||
*
|
||
*****************************************************************/
|
||
QL_DEV_ERROR_CODE ql_dev_get_cust_firmware_version(char *version,unsigned int version_len);
|
||
|
||
/*****************************************************************
|
||
* Function: ql_dev_get_imei
|
||
*
|
||
* Description:
|
||
* 获取设备的 IMEI。
|
||
*
|
||
* Parameters:
|
||
* imei [out] 设备的 IMSI,字符串。
|
||
* imei_len [in] imei 数组的长度。
|
||
* Return:
|
||
* QL_DEV_SUCCESS 成功。
|
||
* QL_DEV_GENERIC_FAILURE 失败。
|
||
*
|
||
*****************************************************************/
|
||
QL_DEV_ERROR_CODE ql_dev_get_imei(char *imei,unsigned int imei_len);
|
||
|
||
/*****************************************************************
|
||
* Function: ql_dev_get_imei_by_simid
|
||
*
|
||
* Description:
|
||
* 获取设备的 IMEI。
|
||
*
|
||
* Parameters:
|
||
* simid [in] SIM卡号
|
||
* imei [out] 设备的 IMSI,字符串。
|
||
* imei_len [in] imei 数组的长度。
|
||
* Return:
|
||
* QL_DEV_SUCCESS 成功。
|
||
* QL_DEV_GENERIC_FAILURE 失败。
|
||
*
|
||
*****************************************************************/
|
||
QL_DEV_ERROR_CODE ql_dev_get_imei_by_simid(QL_Dev_SimID simid,char *imei,unsigned int imei_len);
|
||
|
||
|
||
/*****************************************************************
|
||
* Function: ql_dev_get_cpu_uid
|
||
*
|
||
* Description:
|
||
* 获取设备的cpu_uid。
|
||
*
|
||
* Parameters:
|
||
* uid_ret [in] 用于保存设备的cpu_uid。
|
||
*
|
||
* Return:
|
||
* 无。
|
||
*
|
||
*****************************************************************/
|
||
void ql_dev_get_cpu_uid(unsigned long long * uid_ret);
|
||
|
||
|
||
|
||
/*****************************************************************
|
||
* Function: ql_dev_get_product_id
|
||
*
|
||
* Description:
|
||
* 获取设备的制造商 id。
|
||
*
|
||
* Parameters:
|
||
* product_id [out] 返回设备的制造商 id。
|
||
* product_id_len [in] 需要获取的制造商id的长度。此长度必须小于或者等于product_id所能存储的长度
|
||
*
|
||
* Return:
|
||
* QL_DEV_SUCCESS 成功。
|
||
* QL_DEV_GENERIC_FAILURE 失败。
|
||
*
|
||
*****************************************************************/
|
||
QL_DEV_ERROR_CODE ql_dev_get_product_id(char* product_id,unsigned int product_id_len);
|
||
|
||
/*****************************************************************
|
||
* Function: ql_dev_get_qverinfo
|
||
*
|
||
* Description:
|
||
* 在APP测实现获取系统的Release_Version、DSP、RF版本号。
|
||
*
|
||
* Parameters:
|
||
* release_version [in] 用于存放系统的版本号。
|
||
* len [out] 版本号数组的长度
|
||
*
|
||
* Return:
|
||
* len 成功,返回版本号总长度。
|
||
* -1 失败。
|
||
*
|
||
*****************************************************************/
|
||
int ql_dev_get_qverinfo( char *release_version,unsigned int len);
|
||
|
||
/*****************************************************************
|
||
* Function: ql_dev_get_hw_version
|
||
*
|
||
* Description:
|
||
恒科定制
|
||
* 获取硬件版本号。
|
||
*
|
||
* Parameters:
|
||
* hw_version [out] 设备 hw_version,字符串。
|
||
* hw_len [in] hw_version 数组的长度
|
||
*
|
||
* Return:
|
||
* QL_DEV_SUCCESS 成功。
|
||
* QL_DEV_GENERIC_FAILURE 失败。
|
||
*
|
||
*****************************************************************/
|
||
int ql_dev_get_hw_version(char* hw_version, unsigned int hw_len);
|
||
|
||
/*****************************************************************
|
||
* Function: ql_dev_get_mac
|
||
*
|
||
* Description:
|
||
* 获取客户设备的 MAC 号 (17个字节 )。
|
||
*
|
||
* Parameters:
|
||
* mac_val [in] 存放MAC的buffer,传入的buffer至少17个字节。
|
||
* version_len [in] MAC号长度;为17个字节
|
||
*
|
||
* Return:
|
||
* 0 成功。
|
||
* -1 失败。
|
||
*
|
||
*****************************************************************/
|
||
int ql_dev_get_mac(unsigned char *mac_val,unsigned int len);
|
||
|
||
/*****************************************************************
|
||
/*****************************************************************
|
||
* Function: ql_dev_get_sn_1
|
||
*
|
||
* Description:
|
||
* 获取设备 SN。
|
||
*
|
||
* Parameters:
|
||
* sn [out] sn1输出到的数组
|
||
* sn_len [in] 需要获取的sn1号长度,长度不限,但最多返回30字节
|
||
*
|
||
* Return:
|
||
* QL_DEV_SUCCESS 成功。
|
||
* QL_DEV_GENERIC_FAILURE 失败。
|
||
*
|
||
*****************************************************************/
|
||
QL_DEV_ERROR_CODE ql_dev_get_sn_1(char*sn, unsigned int sn_len);
|
||
|
||
/*****************************************************************
|
||
* Function: ql_dev_get_sn_2
|
||
*
|
||
* Description:
|
||
恒科定制
|
||
* 获取设备 SN2。
|
||
*
|
||
* Parameters:
|
||
* sn2 [out] sn2输出到的数组
|
||
* sn_len [in] 需要获取的sn2号长度
|
||
*
|
||
* Return:
|
||
* 当输入的sn_len <= 28时,返回sn_len
|
||
* 当输入的sn_len > 28时,返回-2
|
||
* 当输出的数组 == NULL || sn_len == 0时,返回-1
|
||
*
|
||
*****************************************************************/
|
||
int ql_dev_get_sn_2(char* sn2, unsigned int sn_len);
|
||
|
||
/*****************************************************************
|
||
* Function: ql_dev_set_imei
|
||
*
|
||
* Description:
|
||
* 设置设备IMEI。
|
||
*
|
||
* Parameters:
|
||
* password [in] 操作密码,需填写正确的密码才允许设置imei
|
||
* imei [in] 需要设置的imei
|
||
* imei_len [in] 输入的imei长度
|
||
*
|
||
* Return:
|
||
* QL_DEV_SUCCESS 成功。
|
||
* QL_DEV_GENERIC_FAILURE 失败。
|
||
*
|
||
*****************************************************************/
|
||
QL_DEV_ERROR_CODE ql_dev_set_imei(char * password, char * imei,unsigned int imei_len);
|
||
|
||
#endif
|
||
|