UNPKG

@iot9x.com/ipc-utils

Version:

九星云、九星小程序、九星配置工具所共用的库方法

371 lines (370 loc) 15.3 kB
import { AD02_AIType, AD02_AIUploadType } from './constant'; import { AD02_AICalculate, AD02_AIUpload, AD02_AOOutput, AD02_ModbusConfig, AD02_UartConfig } from './interface'; /** 输入通道类型,0——AI1;1——AI2 */ type InputChannel = 0 | 1; /** 输出通道类型,0——AO1;1——AO2 */ type OutputChannel = 0 | 1; /** JX-AD02 BLE蓝牙协议 */ export declare class AD02_BLE { /** * 读取硬件版本指令 * @returns 可直接下发的蓝牙通信指令 */ static readHardwareVersionCMD(): Uint8Array; /** * 解析硬件版本 * @param data 读取硬件版本蓝牙返回数据帧 * @returns 硬件版本(ASCII字符串) */ static resolveHardwareVersion(data: Uint8Array): string; /** * 读取软件版本指令 * @returns 可直接下发的蓝牙通信指令 */ static readSoftwareVersionCMD(): Uint8Array; /** * 解析软件版本 * @param data 读取硬件版本蓝牙返回数据帧 * @returns 软件版本(ASCII字符串) */ static resolveSoftwareVersion(data: Uint8Array): string; /** * 读取协议版本指令 * @returns 可直接下发的蓝牙通信指令 */ static readProtocolVersionCMD(): Uint8Array; /** * 解析协议版本 * @param data 读取协议版本蓝牙返回数据帧 * @returns 协议版本(ASCII字符串) */ static resolveProtocolVersion(data: Uint8Array): string; /** * 获取密码校验指令 * @param password 密码(ASCII字符) * @returns 可直接下发的蓝牙通信指令 */ static passwordCheckCMD(password: string): Uint8Array; /** * 密码验证蓝牙返回内容解析 * @param data 密码验证蓝牙返回数据帧 * @returns 密码验证结果 */ static resolvePasswordCheck(data: Uint8Array): boolean; /** * 获取设置密码指令 * @param password 密码(ASCII字符) * @returns 可直接下发的蓝牙通信指令 */ static setPasswordCMD(password: string): Uint8Array; /** * 设置密码蓝牙返回内容解析 * @param data 设置密码蓝牙返回数据帧 * @returns 密码设置结果 */ static resolveSetPassword(data: Uint8Array): boolean; /** * 获取模拟量输入(AI)类型(量程)指令 * @param channel 模拟量输入通道。0——AI1;1——AI2 * @returns 可直接下发的蓝牙通信指令 */ static readAITypeCMD(channel: InputChannel): Uint8Array; /** * 获取模拟量输入(AI)类型(量程)蓝牙返回内容解析 * @param data 读取AI类型(量程)蓝牙返回数据帧 * @returns AI量程类型,0——电压(0-10V);1——电流(0-24mA) */ static resolveAIType(data: Uint8Array): AD02_AIType; /** * 获取写入AI量程/类型指令 * @param channel 模拟量输入通道。0——AI1;1——AI2 * @param type AI量程类型,0——电压(0-10V);1——电流(0-24mA) * @returns 可直接下发的蓝牙通信指令 */ static writeAITypeCMD(channel: InputChannel, type: AD02_AIType): Uint8Array; /** * 设置AI量程返回内容解析 * @param data 设置AI量程蓝牙返回数据帧 * @param channel AI通道。0——AI1;1——AI2 * @returns 写入结果 */ static resolveWriteAITypeRes(data: Uint8Array, channel: InputChannel): boolean; /** * 获取模拟量输入测量值指令 * @param channel 模拟量输入通道。0——AI1;1——AI2 * @returns 可直接下发的蓝牙通信指令 */ static readAICMD(channel: InputChannel): Uint8Array; /** * 获取模拟量输入测量值蓝牙返回内容解析 * @param data 读取AI测量值蓝牙返回数据帧 * @returns AI测量值,电压0~10000,电流0~24000 */ static resolveAI(data: Uint8Array): number; /** * 获取模拟量输入运算后的值指令 * @param channel 模拟量输入通道。0——AI1;1——AI2 * @returns 可直接下发的蓝牙通信指令 */ static readUserAICMD(channel: InputChannel): Uint8Array; /** * 获取模拟量输入运算值蓝牙返回内容解析 * @param data 读取AI运算值蓝牙返回数据帧 * @returns AI运算值,浮点数 */ static resolveUserAI(data: Uint8Array): number; /** * 获取模拟量输入(AI)用户自定义运算指令 * @description 由于双层四则运算的运算符和运算值在寄存器排列上连续,所以这里一次读取。 * @param channel 模拟量输入通道。0——AI1;1——AI2 * @returns 可直接下发的蓝牙通信指令 */ static readAICalculate(channel: InputChannel): Uint8Array; /** * 获取模拟量输入(AI)用户自定义运算返回内容解析 * @param data 读取模拟量输入运算蓝牙返回数据帧 * @returns 模拟量双层四则运算内容 */ static resolveAICalculate(data: Uint8Array): AD02_AICalculate; /** * 获取写入用户自定义运算公式配置指令 * @param channel 模拟量输入通道。0——AI1;1——AI2 * @param formula 运算公式内容 * @returns 可直接下发的蓝牙通信指令 */ static writeAICalculateCMD(channel: InputChannel, formula: AD02_AICalculate): Uint8Array; /** * 设置AI运算公式返回内容解析 * @param data 设置AI运算公式蓝牙返回数据帧 * @param channel AI通道。0——AI1;1——AI2 * @returns 写入结果 */ static resolveWriteAICalculateRes(data: Uint8Array, channel: InputChannel): boolean; /** * 获取AI校准配置指令 * @param channel 模拟量输入通道。0——AI1;1——AI2 * @param type 通道类型,2——电压;3——电流 * @returns 可直接下发的蓝牙通信指令 */ static readAICalibrateCMD(channel: InputChannel, type: 2 | 3): Uint8Array; /** * 获取AI校准配置返回内容解析 * @param data 读取AI校准配置蓝牙返回数据帧 * @returns 4个校准点数据的元组类型 */ static resolveAICalibrate(data: Uint8Array): [number, number, number, number]; /** * 设置AI校准指令 * @deprecated 请使用下面的V2版方法 * @param channel 模拟量输入通道。0——AI1;1——AI2 * @param type 通道类型,2——电压;3——电流 * @param valueList 校准值列表 * @returns 可直接下发的蓝牙通信指令 */ static calibrateAICMD(channel: InputChannel, type: 2 | 3, valueList: [number, number, number, number]): Uint8Array; /** * AI校准返回内容解析 * @deprecated 请使用下面的V2版方法 * @param data AI校准蓝牙返回数据帧 * @param channel AI通道。0——AI1;1——AI2 * @param type 通道类型,2——电压;3——电流 * @returns 校准结果 */ static resolveCalibrateAIRes(data: Uint8Array, channel: InputChannel, type: 2 | 3): boolean; /** * 设置AI校准指令—V2版 * @param channel 模拟量输入通道。0——AI1;1——AI2 * @param type 通道类型,2——电压;3——电流 * @param point 校准点 * @param value 校准值 * @returns 可直接下发的蓝牙通信指令 */ static calibrateAICMD_V2(channel: InputChannel, type: 2 | 3, point: 1 | 2 | 3 | 4, value: number): Uint8Array; /** * AI校准返回内容解析—V2版 * @param data 下发AI校准指令蓝牙返回数据帧 * @param channel 模拟量输入通道。0——AI1;1——AI2 * @param type 通道类型,2——电压;3——电流 * @param point 校准点 * @param value 校准值 * @returns AI校准结果 */ static resolveCalibrateAIRes_V2(data: Uint8Array, channel: InputChannel, type: 2 | 3, point: 1 | 2 | 3 | 4, value: number): boolean; /** * 读取AI自动上报配置指令 * @param channel 模拟量输入通道。0——AI1;1——AI2 * @returns 可直接下发的蓝牙通信指令 */ static readAIUploadCMD(channel: InputChannel): Uint8Array; /** * 获取AI上报配置返回内容解析 * @param data 获取AI上报配置蓝牙返回数据帧 * @returns AI上报配置 */ static resolveAIUpload(data: Uint8Array): AD02_AIUpload; /** * 获取设置AI上报配置指令 * @param channel 模拟量输入通道。0——AI1;1——AI2 * @param typeList 上报类型列表 * @param minChangeValue 变化最小值,UInt16格式 * @param timerValue 定时时间,单位:秒,UInt16格式 * @param minZoneValue 区间下限值,Int16格式 * @param maxZoneValue 区间上限值,Int16格式 * @returns 可直接下发的蓝牙通信指令 */ static setAIUploadCMD(channel: InputChannel, typeList: AD02_AIUploadType[], minChangeValue: number, timerValue: number, minZoneValue: number, maxZoneValue: number): Uint8Array; /** * 配置AI上报返回内容解析 * @param data 配置AI上报蓝牙返回数据帧 * @param channel 模拟量输入通道。0——AI1;1——AI2 * @returns 上报配置设置结果 */ static resolveAIUploadRes(data: Uint8Array, channel: InputChannel): boolean; /** * 获取模拟量输出(AO)的值指令 * @description 由于两个AO输出的值寄存器排列连续,所以这里**一次读取两个值**。 * @returns 可直接下发的蓝牙通信指令 */ static readAOCMD(): Uint8Array; /** * 获取模拟量输出(AO)的值返回内容解析 * @param data 读取AO数据蓝牙返回数据帧 * @returns AO值,元组格式,单位为毫伏 */ static resolveAO(data: Uint8Array): [number, number]; /** * 获取控制模拟量输出(AO)的指令 * @description 由于两个AO输出的值寄存器排列连续,所以这里**一次写入两个值**。 * @param ao1 AO1的控制值,单位:**毫伏**,合法范围为:`0-10000` * @param ao2 AO2的控制值,单位:**毫伏**,合法范围为:`0-10000` * @returns 可直接下发的蓝牙通信指令 */ static writeAOCMD(ao1: number, ao2: number): Uint8Array; /** * 写入控制AO值返回内容解析 * @param data 写入控制AO值蓝牙返回数据帧 * @returns 写入控制结果 */ static resolveWriteAORes(data: Uint8Array): boolean; /** * 读取AO上电初始值指令 * @param channel 模拟量输出通道。0——AO1;1——AO2 * @returns 可直接下发的蓝牙通信指令 */ static readAOInitCMD(channel: OutputChannel): Uint8Array; /** * 读取AO上电初始值返回内容解析 * @param data 读取AO上电初始值蓝牙返回数据帧 * @returns AO上电初始值,单位:毫伏,UInt16格式 */ static resolveAOInit(data: Uint8Array): number; /** * 获取设置AO上电初始值指令 * @param channel AO通道。0——AO1;1——AO2 * @param initValue 上电初始值,单位:毫伏,范围:0-10000 * @returns 可直接下发的蓝牙通信指令 */ static writeAOInitCMD(channel: OutputChannel, initValue: number): Uint8Array; /** * 设置AO上电初始值返回内容解析 * @param data 写入AO上电初始值值蓝牙返回数据帧 * @param channel AO通道。0——AO1;1——AO2 * @returns 写入控制结果 */ static resolveWriteAOInitRes(data: Uint8Array, channel: OutputChannel): boolean; /** * 读取AO周期输出配置指令 * @param channel 模拟量输出通道。0——AO1;1——AO2 * @returns 可直接下发的蓝牙通信指令 */ static readAOOutputCMD(channel: OutputChannel): Uint8Array; /** * 获取AO周期输出配置返回内容解析 * @param data 读取AO周期输出配置蓝牙返回数据帧 * @returns AO周期输出配置 */ static resolveAOOutput(data: Uint8Array): AD02_AOOutput; /** * 生成AO周期输出配置下发指令 * @param channel 模拟量输出通道。0——AO1;1——AO2 * @param output AO周期输出配置 * @returns 可直接下发的蓝牙通信指令 */ static writeAOOutputCMD(channel: OutputChannel, output: AD02_AOOutput): Uint8Array; /** * 设置AO周期输出配置返回内容解析 * @param data 写入AO周期输出配置蓝牙返回数据帧 * @param channel AO通道。0——AO1;1——AO2 * @returns 写入控制结果 */ static resolveWriteAOOutputRes(data: Uint8Array, channel: OutputChannel): boolean; /** * 读取串口参数配置指令 * @returns 可直接下发的蓝牙通信指令 */ static readUartConfigCMD(): Uint8Array; /** * 获取串口参数配置返回内容解析 * @param data 读取串口参数蓝牙返回数据帧 * @returns 串口参数配置 */ static resolveUartConfig(data: Uint8Array): AD02_UartConfig; /** * 生成串口参数配置下发指令 * @param config 串口参数配置 * @returns 可直接下发的蓝牙通信指令 */ static writeUartConfigCMD(config: AD02_UartConfig): Uint8Array; /** * 配置串口参数返回内容解析 * @param data 配置串口参数蓝牙返回数据帧 * @returns 串口参数配置结果 */ static resolveWriteUartConfigRes(data: Uint8Array): boolean; /** * 读取Modbus配置指令 * @returns 可直接下发的蓝牙通信指令 */ static readModbusConfigCMD(): Uint8Array; /** * 获取Modbus参数配置返回内容解析 * @param data 读取Modbus参数蓝牙返回数据帧 * @returns Modbus参数配置 */ static resolveModbusConfig(data: Uint8Array): AD02_ModbusConfig; /** * 生成Modbus参数配置下发指令 * @param config Modbus参数 * @returns 可直接下发的蓝牙通信指令 */ static writeModbusConfigCMD(config: AD02_ModbusConfig): Uint8Array; /** * 配置Modbus参数返回内容解析 * @param data 配置Modbus参数蓝牙返回数据帧 * @returns Modbus参数配置结果 */ static resolveWriteModbusConfigRes(data: Uint8Array): boolean; /** * 获取重启指令 * @returns 可直接下发的蓝牙通信指令 */ static rebootCMD(): Uint8Array; /** * 下发重启指令返回内容解析 * @param data 下发重启指令蓝牙返回数据帧 * @returns 重启结果 */ static resolveRebootRes(data: Uint8Array): boolean; /** * 获取恢复出厂设置并重启指令 * @returns 可直接下发的蓝牙通信指令 */ static recoveryCMD(): Uint8Array; /** * 下发恢复出厂设置指令返回内容解析 * @param data 下发恢复出厂设置指令蓝牙返回数据帧 * @returns 恢复出厂设置结果 */ static resolveRecoveryRes(data: Uint8Array): boolean; } export {};