159 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			159 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| /*
 | ||
|  * Copyright (c) 2022 Archermind Device Co., Ltd.
 | ||
|  * Licensed under the Apache License, Version 2.0 (the "License");
 | ||
|  * you may not use this file except in compliance with the License.
 | ||
|  * You may obtain a copy of the License at
 | ||
|  *
 | ||
|  *     http://www.apache.org/licenses/LICENSE-2.0
 | ||
|  *
 | ||
|  * Unless required by applicable law or agreed to in writing, software
 | ||
|  * distributed under the License is distributed on an "AS IS" BASIS,
 | ||
|  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | ||
|  * See the License for the specific language governing permissions and
 | ||
|  * limitations under the License.
 | ||
|  */
 | ||
| 
 | ||
| import {Callback} from "./basic";
 | ||
| 
 | ||
| /**
 | ||
| * Provides interfaces to generate system logs.
 | ||
| *
 | ||
| * @namespace HiSerialSDK
 | ||
| * @syscap SystemCapability.HiviewDFX.HiLog
 | ||
| * @crossplatform
 | ||
| * @HONGZOS 2.0
 | ||
| */
 | ||
| declare namespace HiSerialSDK {
 | ||
|     /**
 | ||
|      * 接收的数据信息
 | ||
|      */
 | ||
|     export interface receiveInfo {
 | ||
| 		recevedBuf: number[]; // 接收到的数据
 | ||
| 		recevedLen: number; // 实际接收的数据长度,如果接收出错返回-1
 | ||
| 	}
 | ||
| 
 | ||
|     /**
 | ||
|      * 打开串口
 | ||
|      * 
 | ||
|      * @param hiSerDevice 串口设备路径,如 "/dev/ttyS0"
 | ||
|      * @return 串口设备fd句柄,如果串口打开失败返回-1
 | ||
|      */
 | ||
|     function SerialOpen(hiSerDevice: string): number;
 | ||
| 
 | ||
|     /**
 | ||
|      * 打开串口
 | ||
|      *
 | ||
|      * @param hiSerDevice 串口设备路径,如 "/dev/ttyS0"
 | ||
|      * @param callback 串口设备fd句柄,如果串口打开失败返回-1
 | ||
|      * @HONGZOS 3.0
 | ||
|      */
 | ||
|     function SerialOpenAsync(hiSerDevice: string, callback: Callback<number>): void;
 | ||
| 	
 | ||
| 	/**
 | ||
|      * 设置串口
 | ||
|      * 
 | ||
|      * @param fd 串口设备fd句柄
 | ||
|      * @param speed 波特率 115200, 57600, 19200, 9600, 4800, 2400, 1200, 300
 | ||
|      * @param flow_ctrl 流控制
 | ||
|      * @param databits 数据位
 | ||
|      * @param stopbits 停止位
 | ||
|      * @param parity 奇偶校验位
 | ||
|      *
 | ||
|      * @return 设置是否成功(0: 成功, -1: 失败)
 | ||
|      */
 | ||
|     function SerialSet(fd: number, speed: number, flow_ctrl: number, databits: number, stopbits: number, parity: number): number;
 | ||
| 
 | ||
|     /**
 | ||
|      * 设置串口
 | ||
|      *
 | ||
|      * @param fd 串口设备fd句柄
 | ||
|      * @param speed 波特率 115200, 57600, 19200, 9600, 4800, 2400, 1200, 300
 | ||
|      * @param flow_ctrl 流控制
 | ||
|      * @param databits 数据位
 | ||
|      * @param stopbits 停止位
 | ||
|      * @param parity 奇偶校验位
 | ||
|      * @param callback 设置是否成功(0: 成功, -1: 失败)
 | ||
|      * @HONGZOS 3.0
 | ||
|      */
 | ||
|     function SerialSetAsync(fd: number, speed: number, flow_ctrl: number, databits: number, stopbits: number, parity: number, callback: Callback<number>): void;
 | ||
| 	
 | ||
|     /**
 | ||
|      * 设置串口监听回调
 | ||
|      *
 | ||
|      * @param fd 串口设备fd句柄
 | ||
|      * @param callback 监听到数据后执行的回调函数,其中参数1: 监听的串口设备fd句柄;参数2: 接收的串口数据长度;参数3: 接收的串口数据字节数组
 | ||
|      *
 | ||
|      * @return 设置是否成功(0: 成功, -1: 失败)
 | ||
|      */
 | ||
|     function SerialListenCallbackSet(fd: number, callback: Callback<number, number, number[]>): number;
 | ||
| 
 | ||
|     /**
 | ||
|      * 取消串口监听
 | ||
|      *
 | ||
|      * @param fd 串口设备fd句柄
 | ||
|      *
 | ||
|      * @return 设置是否成功(0: 成功, -1: 失败)
 | ||
|      */
 | ||
|     function SerialListenCallbackCancel(fd: number): number;
 | ||
| 
 | ||
| 	/**
 | ||
|      * 发送数据
 | ||
|      * 
 | ||
|      * @param fd 串口设备fd句柄
 | ||
|      * @param sendBuf 发送的数据字节数组
 | ||
|      * @return 发送成功返回发送的数据长度,发送失败返回-1
 | ||
|      */
 | ||
|     function SerialSend(fd: number, sendBuf: number[]): number;
 | ||
| 
 | ||
|     /**
 | ||
|      * 发送数据
 | ||
|      *
 | ||
|      * @param fd 串口设备fd句柄
 | ||
|      * @param sendBuf 发送的数据字节数组
 | ||
|      * @param callback 发送成功返回发送的数据长度,发送失败返回-1
 | ||
|      * @HONGZOS 3.0
 | ||
|      */
 | ||
|     function SerialSendAsync(fd: number, sendBuf: number[], callback: Callback<number>): void;
 | ||
| 
 | ||
|     /**
 | ||
|      * 接收数据
 | ||
|      * 
 | ||
|      * @param fd 串口设备fd句柄
 | ||
|      * @param timeout 接收数据时的最大等待时间,可设置为0,单位微秒(如:1000000 为1秒超时)
 | ||
|      * @param recvLen (可选参数)接收的最大字节数,不填默认一次最多接收1024字节
 | ||
|      *
 | ||
|      * @return 接收的数据信息
 | ||
|      */
 | ||
|     function SerialRecv(fd: number, timeout: number, recvLen?: number): receiveInfo;
 | ||
| 
 | ||
|     /**
 | ||
|      * 接收数据
 | ||
|      *
 | ||
|      * @param fd 串口设备fd句柄
 | ||
|      * @param timeout 接收数据时的最大等待时间,可设置为0,单位微秒(如:1000000 为1秒超时)
 | ||
|      * @param callback 接收的数据信息
 | ||
|      * @param recvLen (可选参数)接收的最大字节数,不填默认一次最多接收1024字节
 | ||
|      * @HONGZOS 3.0
 | ||
|      */
 | ||
|     function SerialRecvAsync(fd: number, timeout: number, callback: Callback<receiveInfo>, recvLen?: number): void;
 | ||
| 
 | ||
| 	/**
 | ||
|      * 关闭串口
 | ||
|      *
 | ||
|      * @param fd 串口设备fd句柄
 | ||
|      * @return 关闭操作执行结果(0: 成功, 其它: 失败)
 | ||
|      */
 | ||
|     function SerialClose(fd: number): number;
 | ||
| 
 | ||
|     /**
 | ||
|      * 关闭串口
 | ||
|      *
 | ||
|      * @param fd 串口设备fd句柄
 | ||
|      * @param 关闭操作执行结果(0: 成功, 其它: 失败)
 | ||
|      * @HONGZOS 3.0
 | ||
|      */
 | ||
|     function SerialCloseAsync(fd: number, callback: Callback<number>): void;
 | ||
| }
 | ||
| 
 | ||
| export default HiSerialSDK;
 |