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; |