123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201 |
- /** @file
- ql_api_virt_at.h
- @brief
- This file is used to define virt at interface for different Quectel Project.
- */
- /*================================================================
- Copyright (c) 2020 Quectel Wireless Solution, Co., Ltd. All Rights Reserved.
- Quectel Wireless Solution Proprietary and Confidential.
- =================================================================*/
- /*=================================================================
- EDIT HISTORY FOR MODULE
- This section contains comments describing changes made to the module.
- Notice that changes are listed in reverse chronological order.
- WHEN WHO WHAT, WHERE, WHY
- ------------ ------- -------------------------------------------------------------------------------
- 26/01/2021 Neo Init version
- =================================================================*/
- #ifndef _QL_API_VIRT_AT_H_
- #define _QL_API_VIRT_AT_H_
- #include "ql_api_common.h"
- #ifdef __cplusplus
- extern "C" {
- #endif
- /*===========================================================================
- * Macro Definition
- *===========================================================================*/
- #define QL_VIRT_AT_ERRCODE_BASE (QL_COMPONENT_BSP_VIRT_AT<<16)
- /*========================================================================
- * Enumeration Definition
- *========================================================================*/
- /**
- * virt at errcode
- */
- typedef enum
- {
- QL_VIRT_AT_SUCCESS = QL_SUCCESS,
- QL_VIRT_AT_INVALID_PARAM_ERR = 1|QL_VIRT_AT_ERRCODE_BASE,
- QL_VIRT_AT_EXECUTE_ERR, //虚拟AT操作失败(内存不足等)
- QL_VIRT_AT_OPEN_REPEAT_ERR, //虚拟AT通道重复打开
- QL_VIRT_AT_OPEN_DEVICE_ERR, //虚拟AT通道打开失败
- QL_VIRT_AT_CREATE_PIPE_ERR, //虚拟AT创建FIFO失败
- QL_VIRT_AT_PUSH_LIST_ERR, //暂未使用
- QL_VIRT_AT_CREATE_MUTEX_ERR, //虚拟创建互斥锁失败
- QL_VIRT_AT_MUTEX_TIMEOUT_ERR, //虚拟AT互斥锁超时
- QL_VIRT_AT_CREATE_DISPATCH_ERR, //虚拟AT创建数据结构时失败
- QL_VIRT_AT_NOT_INIT, //虚拟AT功能未初始化
- QL_VIRT_AT_TX_OVERFOLW, //虚拟AT 的TX FIFO空间不足
- }ql_errcode_virt_at_e;
- /**
- * virtual at channel enum
- */
- typedef enum
- {
- QL_VIRT_AT_PORT_0,
- QL_VIRT_AT_PORT_1,
- QL_VIRT_AT_PORT_2,
- QL_VIRT_AT_PORT_3,
- QL_VIRT_AT_PORT_4,
- QL_VIRT_AT_PORT_5,
- QL_VIRT_AT_PORT_6,
- QL_VIRT_AT_PORT_7,
- QL_VIRT_AT_PORT_8,
- QL_VIRT_AT_PORT_9,
- QL_VIRT_AT_PORT_MAX,
- }ql_virt_at_port_number_e;
- /*===========================================================================
- * Functions declaration
- ===========================================================================*/
- /*****************************************************************
- * Description: VIRT AT 回调函数,用于接收AT命令返回
- *
- * Parameters:
- * ind_type [in] 事件类型,VIRT AT RX只有一种事件。
- * size [in] 数据大小
- *
- *****************************************************************/
- typedef void (*ql_virt_at_callback)(uint32 ind_type, uint32 size);
- /*****************************************************************
- * Function: ql_virt_at_read
- *
- * Description: VIRT AT读数据
- *
- * Parameters:
- * port [in] 虚拟AT通道
- * data [out] 读取的数据
- * data_len [in] 要读取的数据长度
- *
- * Return:
- * < 0 错误码,详见ql_errcode_virt_at_e
- * other 实际读取到的数据长度
- *
- *****************************************************************/
- int ql_virt_at_read(ql_virt_at_port_number_e port, unsigned char *data, unsigned int data_len);
- /*****************************************************************
- * Function: ql_virt_at_write
- *
- * Description: VIRT AT写数据
- *
- * Parameters:
- * port [in] 虚拟AT通道
- * data [in] 要写入的数据
- * data_len [in] 要写入的数据长度
- *
- * Return:
- * < 0 错误码,详见ql_errcode_virt_at_e
- * other 实际写入的数据长度
- *
- *****************************************************************/
- int ql_virt_at_write(ql_virt_at_port_number_e port, unsigned char *data, unsigned int data_len);
- /*****************************************************************
- * Function: ql_virt_at_close
- *
- * Description: 关闭 VIRT AT通道
- *
- * Parameters:
- * port [in] 虚拟AT通道
- *
- * Return:
- * 0 关闭成功。
- * other 错误码。
- *
- *****************************************************************/
- ql_errcode_virt_at_e ql_virt_at_close(ql_virt_at_port_number_e port);
- /*****************************************************************
- * Function: ql_virt_at_open
- *
- * Description: 打开 VIRT AT通道,注册回调函数
- *
- * Parameters:
- * port [in] 虚拟AT通道
- * virt_at_cb [in] 回调函数
- *
- * Return:
- * 0 打开成功。
- * other 错误码。
- *
- *****************************************************************/
- ql_errcode_virt_at_e ql_virt_at_open(ql_virt_at_port_number_e port, ql_virt_at_callback virt_at_cb);
- /*****************************************************************
- * Function: ql_virt_at_read_aviable
- *
- * Description: 获取虚拟AT通道中的可读字节数
- *
- * Parameters:
- * port [in] 虚拟AT通道
- *
- * Return:
- * >=0 可读字节数
- * other 错误码。
- *
- *****************************************************************/
- int ql_virt_at_read_aviable(ql_virt_at_port_number_e port);
- /*****************************************************************
- * Function: ql_virt_at_write_aviable
- *
- * Description: 获取虚拟AT通道中的可写字节数
- *
- * Parameters:
- * port [in] 虚拟AT通道
- *
- * Return:
- * >=0 可写字节数
- * other 错误码。
- *
- *****************************************************************/
- int ql_virt_at_write_aviable(ql_virt_at_port_number_e port);
- #ifdef __cplusplus
- } /*"C" */
- #endif
-
- #endif /* _QL_API_VIRT_AT_H_ */
|