135 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			135 lines
		
	
	
		
			4.4 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
 | 
						||
* @since 9
 | 
						||
*/
 | 
						||
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
 | 
						||
     */
 | 
						||
    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: 失败)
 | 
						||
     */
 | 
						||
    function SerialSetAsync(fd: number, speed: number, flow_ctrl: number, databits: number, stopbits: number, parity: number, callback: Callback<number>): void;
 | 
						||
	
 | 
						||
	/**
 | 
						||
     * 发送数据
 | 
						||
     * 
 | 
						||
     * @param fd 串口设备fd句柄
 | 
						||
     * @param sendBuf 发送的数据字节数组
 | 
						||
     * @return 发送成功返回发送的数据长度,发送失败返回-1
 | 
						||
     */
 | 
						||
    function SerialSend(fd: number, sendBuf: number[]): number;
 | 
						||
 | 
						||
    /**
 | 
						||
     * 发送数据
 | 
						||
     *
 | 
						||
     * @param fd 串口设备fd句柄
 | 
						||
     * @param sendBuf 发送的数据字节数组
 | 
						||
     * @param callback 发送成功返回发送的数据长度,发送失败返回-1
 | 
						||
     */
 | 
						||
    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字节
 | 
						||
     */
 | 
						||
    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: 成功, 其它: 失败)
 | 
						||
     */
 | 
						||
    function SerialCloseAsync(fd: number, callback: Callback<number>): void;
 | 
						||
}
 | 
						||
 | 
						||
export default HiSerialSDK;
 |