/* * 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): 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): void; /** * 设置串口监听回调 * * @param fd 串口设备fd句柄 * @param callback 监听到数据后执行的回调函数,其中参数1: 监听的串口设备fd句柄;参数2: 接收的串口数据长度;参数3: 接收的串口数据字节数组 * * @return 设置是否成功(0: 成功, -1: 失败) */ function SerialListenCallbackSet(fd: number, callback: Callback): 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): 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, 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): void; } export default HiSerialSDK;