Skip to content

Commit 7eac5ab

Browse files
committed
Directly set standard-conforming RTU delays inside Modbus library.
1 parent 760b1e3 commit 7eac5ab

File tree

3 files changed

+4
-2
lines changed

3 files changed

+4
-2
lines changed

Diff for: examples/RTU/ModbusRTUClientParameters/ModbusRTUClientParameters.ino

-2
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@ void setup() {
2222

2323
Serial.println("Modbus RTU Client Toggle w/ Parameters");
2424

25-
RS485.setDelays(ModbusRTUDelay::preDelay(baudrate), ModbusRTUDelay::postDelay(baudrate));
26-
2725
// start the Modbus RTU client in 8E1 mode
2826
if (!ModbusRTUClient.begin(baudrate, SERIAL_8E1)) {
2927
Serial.println("Failed to start Modbus RTU Client!");

Diff for: src/ModbusRTUClient.cpp

+2
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ ModbusRTUClientClass::~ModbusRTUClientClass()
4242

4343
int ModbusRTUClientClass::begin(unsigned long baudrate, uint16_t config)
4444
{
45+
_rs485->setDelays(ModbusRTUDelay::preDelay(baudrate), ModbusRTUDelay::postDelay(baudrate));
46+
4547
modbus_t* mb = modbus_new_rtu(_rs485, baudrate, config);
4648

4749
if (!ModbusClient::begin(mb, 0x00)) {

Diff for: src/ModbusRTUServer.cpp

+2
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ ModbusRTUServerClass::~ModbusRTUServerClass()
4040

4141
int ModbusRTUServerClass::begin(int id, unsigned long baudrate, uint16_t config)
4242
{
43+
_rs485->setDelays(ModbusRTUDelay::preDelay(baudrate), ModbusRTUDelay::postDelay(baudrate));
44+
4345
modbus_t* mb = modbus_new_rtu(_rs485, baudrate, config);
4446

4547
if (!ModbusServer::begin(mb, id)) {

0 commit comments

Comments
 (0)