Files
banban/ql-kernel/threadx/common/include/ql_atcmd.h
T

108 lines
3.3 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/*============================================================================
Copyright (c) 2022 Quectel Wireless Solution, Co., Ltd. All Rights Reserved.
Quectel Wireless Solution Proprietary and Confidential.
=============================================================================*/
#ifndef __QL_AT_H__
#define __QL_AT_H__
#ifdef __cplusplus
extern "C" {
#endif
typedef enum QL_AT_RESP_STATUS_ENUM{
QL_AT_RESP_OK = 0,
QL_AT_RESP_ERROR,
QL_AT_RESP_CME_ERROR,
QL_AT_RESP_CMS_ERROR,
QL_AT_RESP_INVALID_PARAM,
QL_AT_RESP_TIME_OUT,
QL_AT_RESP_SYS_ERROR,
}QL_AT_RESP_STATUS_E;
int quec_atcmd_resp_cb(int at_channel,char *resp,int resp_len,char ind_resp);
int quec_atcmd_resp_async_cb(int at_channe2,char *resp,int resp_len,char ind_resp);
typedef void(*ql_atcmd_asyc_cb)(QL_AT_RESP_STATUS_E errno,char * buffer,unsigned int len);
/***********************************************************************
*
* Name: ql_atcmd_send_sync
*
* Description: 发送AT指令,阻塞当前线程,
*
* Parameters: cmd[in]:at字符串
* resp[out]: AT的返回内容
resp_len[in]:AT返回内容的长度
time_out[in]:AT返回的超时时间
* Returns: QL_AT_RESP_STATUS_E
* QL_AT_RESP_OK:AT 发送成功,返回OK
* Notes:
* 注意此API不能用于URC的接收
***********************************************************************/
QL_AT_RESP_STATUS_E ql_atcmd_send_sync(char *cmd,char *resp,int resp_len,char *include_str,int time_out);
QL_AT_RESP_STATUS_E ql_atcmd_send_sync_by_simid (char *cmd,char *resp,int resp_len,char *include_str,int time_out, unsigned short simid);
/***********************************************************************
*
* Name: ql_atcmd_send_async
*
* Description: 发送AT指令,不会阻塞当前线程
*
* Parameters: data:at字符串
* len: at字符串长度
* Returns: 0: SUCCESS
*
* Notes:
*
***********************************************************************/
QL_AT_RESP_STATUS_E ql_atcmd_send_async(char *data , unsigned int len);
/***********************************************************************
*
* Name: ql_atcmd_send_async
*
* Description: 删除异步at运行环境
*
* Parameters: VOID
*
* Returns: 0 :SUCCESS
*
* Notes:
*
***********************************************************************/
int ql_atcmd_async_close(void);
/***********************************************************************
*
* Name: ql_atcmd_send_async
*
* Description: 初始化异步at
*
* Parameters: stack_ptr: 异步at运行栈起始地址可以为NULL;
* stack_size: 运行栈大小
* cb:用户回调函数
* Returns: 0:success
*
* Notes:
*
***********************************************************************/
int ql_atcmd_async_init(void *stack_ptr,unsigned int stack_size,ql_atcmd_asyc_cb cb);
QL_AT_RESP_STATUS_E ql_atcmd_with_hexdata_send_sync(char *cmd,char* data,int data_len,char *resp,int resp_len,char *include_str,int time_out);
int ql_atcmd_get_line_num(char *result);
int ql_atcmd_get_para_num_one_line(char *result,int line_index);
int ql_atcmd_get_para_value_str(char *result,int line_index,int para_index, char *para_value,int para_value_len);
#ifdef __cplusplus
}
#endif
#endif