package com.hwtd.mes.collect.dto; import lombok.Data; /** * 串口参数,由接口传入(不传的字段使用默认值)。 *

* 采集接口 {@code /lims/getFile?fileExtension=.serialPort} 和 {@code /lims/openSerialPort} 都支持这些参数, * 例如:{@code /lims/openSerialPort?listenName=COM7&baudRate=19200&dataBits=8&stopBits=1&parity=NONE&endMark=*&maxCount=6} */ @Data public class SerialPortDTO { /** 默认波特率 */ public static final int DEFAULT_BAUD_RATE = 9600; /** 默认数据位 */ public static final int DEFAULT_DATA_BITS = 8; /** 默认停止位 */ public static final int DEFAULT_STOP_BITS = 1; /** 默认校验位 */ public static final String DEFAULT_PARITY = "NONE"; /** 默认流控 */ public static final String DEFAULT_FLOW_CONTROL = "NONE"; /** 默认读取超时(毫秒) */ public static final int DEFAULT_READ_TIMEOUT = 1000; /** 默认结束标志 */ public static final String DEFAULT_END_MARK = "*"; /** 默认单轮采集条数上限 */ public static final int DEFAULT_MAX_COUNT = 1; /** 默认帧空闲补帧时间(毫秒) */ public static final int DEFAULT_FRAME_IDLE_MILLIS = 200; /** 串口名称,如 COM12;必传,不传会返回“串口名称不能为空” */ private String serialPortName; /** 波特率,默认 9600 */ private Integer baudRate = DEFAULT_BAUD_RATE; /** 数据位 5~8,默认 8 */ private Integer dataBits = DEFAULT_DATA_BITS; /** 停止位 1、2、3(1.5 位),默认 1 */ private Integer stopBits = DEFAULT_STOP_BITS; /** 校验位:NONE/ODD/EVEN/MARK/SPACE(不区分大小写),也兼容 0~4 的数字,默认 NONE */ private String parity = DEFAULT_PARITY; /** 流控:NONE/RTS_CTS/XON_XOFF(不区分大小写),也兼容数字常量,默认 NONE */ private String flowControl = DEFAULT_FLOW_CONTROL; /** 读取超时(毫秒),默认 1000 */ private Integer readTimeout = DEFAULT_READ_TIMEOUT; /** 一帧数据的结束标志,默认 *;特殊字符可用 URL 编码传入,如换行 %0A */ private String endMark = DEFAULT_END_MARK; /** 数据缓存队列长度,默认 6;队列满时插入最新一条、移除最旧一条,接口最多返回 maxCount 条数据 */ private Integer maxCount = DEFAULT_MAX_COUNT; /** * 帧空闲补帧时间(毫秒),默认 200: * 设备发完一帧后超过该时间没有新数据,就把接收缓冲区里剩下的数据当作一帧取出来, * 避免设备最后一帧没有结束标志时被漏掉;设为 0 表示关闭空闲补帧,只按结束标志切帧。 */ private Integer frameIdleMillis = DEFAULT_FRAME_IDLE_MILLIS; }