package com.hwtd.mes.collect.dto;
|
|
import lombok.Data;
|
|
/**
|
* 串口参数,由接口传入(不传的字段使用默认值)。
|
* <p>
|
* 采集接口 {@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;
|
}
|