[modbus] fix defaults for tcp and serial things and some other minor cleanup (#10147)

* [modbus] More strict nullness. Remove apache.commons.lang from itests
* [modbus] Defaults for tcp and serial things according to docs
* [modbus] further explicit defaults
* [modbus] document default encoding for serial.
RTU is pretty much the only one used in the field.
Previous default was ascii implicitly.
* [modbus] verify defaults are used for undefined configuration parameters

Signed-off-by: Sami Salonen <ssalonen@gmail.com>
This commit is contained in:
Sami Salonen
2021-02-17 12:41:40 +02:00
committed by GitHub
parent fe496c7389
commit fbf55d5886
7 changed files with 47 additions and 18 deletions

View File

@@ -24,19 +24,19 @@ import org.eclipse.jdt.annotation.Nullable;
@NonNullByDefault
public class ModbusSerialConfiguration {
private @Nullable String port;
private int id;
private int id = 1;
private int baud;
private @Nullable String stopBits;
private @Nullable String parity;
private int dataBits;
private @Nullable String encoding;
private String encoding = "rtu";
private boolean echo;
private int receiveTimeoutMillis;
private @Nullable String flowControlIn;
private @Nullable String flowControlOut;
private int timeBetweenTransactionsMillis;
private int connectMaxTries;
private int connectTimeoutMillis;
private int receiveTimeoutMillis = 1500;
private String flowControlIn = "none";
private String flowControlOut = "none";
private int timeBetweenTransactionsMillis = 35;
private int connectMaxTries = 1;
private int connectTimeoutMillis = 10_000;
private boolean enableDiscovery;
public @Nullable String getPort() {

View File

@@ -25,12 +25,12 @@ import org.eclipse.jdt.annotation.Nullable;
public class ModbusTcpConfiguration {
private @Nullable String host;
private int port;
private int id;
private int timeBetweenTransactionsMillis;
private int id = 1;
private int timeBetweenTransactionsMillis = 60;
private int timeBetweenReconnectMillis;
private int connectMaxTries;
private int connectMaxTries = 1;
private int reconnectAfterMillis;
private int connectTimeoutMillis;
private int connectTimeoutMillis = 10_000;
private boolean enableDiscovery;
private boolean rtuEncoded;

View File

@@ -45,7 +45,7 @@ public abstract class AbstractModbusEndpointThingHandler<E extends ModbusSlaveEn
protected volatile @Nullable C config;
protected volatile @Nullable E endpoint;
protected ModbusManager modbusManager;
protected volatile @Nullable EndpointPoolConfiguration poolConfiguration;
protected volatile @NonNullByDefault({}) EndpointPoolConfiguration poolConfiguration;
private final Logger logger = LoggerFactory.getLogger(AbstractModbusEndpointThingHandler.class);
private @NonNullByDefault({}) ModbusCommunicationInterface comms;