2 * Copyright (c) 2010-2023 Contributors to the openHAB project
4 * See the NOTICE file(s) distributed with this work for additional
7 * This program and the accompanying materials are made available under the
8 * terms of the Eclipse Public License 2.0 which is available at
9 * http://www.eclipse.org/legal/epl-2.0
11 * SPDX-License-Identifier: EPL-2.0
13 package org.openhab.binding.modbus.internal.config;
15 import org.eclipse.jdt.annotation.NonNullByDefault;
16 import org.eclipse.jdt.annotation.Nullable;
19 * Configuration for serial thing
21 * @author Sami Salonen - Initial contribution
25 public class ModbusSerialConfiguration {
26 private @Nullable String port;
29 private @Nullable String stopBits;
30 private @Nullable String parity;
32 private String encoding = "rtu";
34 private int receiveTimeoutMillis = 1500;
35 private String flowControlIn = "none";
36 private String flowControlOut = "none";
37 private int timeBetweenTransactionsMillis = 35;
38 private int connectMaxTries = 1;
39 private int afterConnectionDelayMillis;
40 private int connectTimeoutMillis = 10_000;
41 private boolean enableDiscovery;
43 public @Nullable String getPort() {
47 public void setPort(String port) {
55 public void setId(int id) {
59 public int getBaud() {
63 public void setBaud(int baud) {
67 public @Nullable String getStopBits() {
71 public void setStopBits(String stopBits) {
72 this.stopBits = stopBits;
75 public @Nullable String getParity() {
79 public void setParity(String parity) {
83 public int getDataBits() {
87 public void setDataBits(int dataBits) {
88 this.dataBits = dataBits;
91 public @Nullable String getEncoding() {
95 public void setEncoding(String encoding) {
96 this.encoding = encoding;
99 public boolean isEcho() {
103 public void setEcho(boolean echo) {
107 public int getReceiveTimeoutMillis() {
108 return receiveTimeoutMillis;
111 public void setReceiveTimeoutMillis(int receiveTimeoutMillis) {
112 this.receiveTimeoutMillis = receiveTimeoutMillis;
115 public @Nullable String getFlowControlIn() {
116 return flowControlIn;
119 public void setFlowControlIn(String flowControlIn) {
120 this.flowControlIn = flowControlIn;
123 public @Nullable String getFlowControlOut() {
124 return flowControlOut;
127 public void setFlowControlOut(String flowControlOut) {
128 this.flowControlOut = flowControlOut;
131 public int getTimeBetweenTransactionsMillis() {
132 return timeBetweenTransactionsMillis;
135 public void setTimeBetweenTransactionsMillis(int timeBetweenTransactionsMillis) {
136 this.timeBetweenTransactionsMillis = timeBetweenTransactionsMillis;
139 public int getConnectMaxTries() {
140 return connectMaxTries;
143 public void setConnectMaxTries(int connectMaxTries) {
144 this.connectMaxTries = connectMaxTries;
147 public int getAfterConnectionDelayMillis() {
148 return afterConnectionDelayMillis;
151 public void setAfterConnectionDelayMillis(int afterConnectionDelayMillis) {
152 this.afterConnectionDelayMillis = afterConnectionDelayMillis;
155 public int getConnectTimeoutMillis() {
156 return connectTimeoutMillis;
159 public void setConnectTimeoutMillis(int connectTimeoutMillis) {
160 this.connectTimeoutMillis = connectTimeoutMillis;
163 public boolean isDiscoveryEnabled() {
164 return enableDiscovery;
167 public void setDiscoveryEnabled(boolean enableDiscovery) {
168 this.enableDiscovery = enableDiscovery;