Skip to content

Commit 6960d9c

Browse files
committed
Fix #377 when invalid port is supplied and minor updates in logging
1 parent 964a565 commit 6960d9c

File tree

5 files changed

+14
-10
lines changed

5 files changed

+14
-10
lines changed

CHANGELOG.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ from pymodbus.client.asynchronous import ModbusTcpClient
1515
* Fix Binary payload example for endianess.
1616
* Fix tornado async serial client `TypeError` while processing incoming packet.
1717
* Fix asyncio examples.
18+
* Improved logging in Modbus Server .
1819
* Minor update in factory.py, now server logs prints received request instead of only function code
1920
```
2021
# Now

pymodbus/client/sync.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -481,13 +481,13 @@ def connect(self):
481481
stopbits=self.stopbits,
482482
baudrate=self.baudrate,
483483
parity=self.parity)
484+
if self.method == "rtu":
485+
if self._strict:
486+
self.socket.interCharTimeout = self.inter_char_timeout
487+
self.last_frame_end = None
484488
except serial.SerialException as msg:
485489
_logger.error(msg)
486490
self.close()
487-
if self.method == "rtu":
488-
if self._strict:
489-
self.socket.interCharTimeout = self.inter_char_timeout
490-
self.last_frame_end = None
491491
return self.socket is not None
492492

493493
def close(self):

pymodbus/datastore/context.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,8 @@ def validate(self, fx, address, count=1):
6060
'''
6161
if not self.zero_mode:
6262
address = address + 1
63-
_logger.debug("validate[%d] %d:%d" % (fx, address, count))
63+
_logger.debug("validate: fc-[%d] address-%d: count-%d" % (fx, address,
64+
count))
6465
return self.store[self.decode(fx)].validate(address, count)
6566

6667
def getValues(self, fx, address, count=1):
@@ -73,7 +74,8 @@ def getValues(self, fx, address, count=1):
7374
'''
7475
if not self.zero_mode:
7576
address = address + 1
76-
_logger.debug("getValues[%d] %d:%d" % (fx, address, count))
77+
_logger.debug("getValues fc-[%d] address-%d: count-%d" % (fx, address,
78+
count))
7779
return self.store[self.decode(fx)].getValues(address, count)
7880

7981
def setValues(self, fx, address, values):

pymodbus/server/sync.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ def send(self, message):
125125
# self.server.control.Counter.BusMessage += 1
126126
pdu = self.framer.buildPacket(message)
127127
if _logger.isEnabledFor(logging.DEBUG):
128-
_logger.debug('send: %s' % b2a_hex(pdu))
128+
_logger.debug('send: [%s]- %s' % (message, b2a_hex(pdu)))
129129
return self.request.send(pdu)
130130

131131

@@ -203,7 +203,7 @@ def send(self, message):
203203
# self.server.control.Counter.BusMessage += 1
204204
pdu = self.framer.buildPacket(message)
205205
if _logger.isEnabledFor(logging.DEBUG):
206-
_logger.debug('send: %s' % b2a_hex(pdu))
206+
_logger.debug('send: [%s]- %s' % (message, b2a_hex(pdu)))
207207
return self.request.send(pdu)
208208

209209

@@ -226,6 +226,7 @@ def handle(self):
226226
data, self.socket = self.request
227227
if not data:
228228
self.running = False
229+
data = b''
229230
if _logger.isEnabledFor(logging.DEBUG):
230231
_logger.debug('Handling data: ' + hexlify_packets(data))
231232
# if not self.server.control.ListenOnly:
@@ -258,7 +259,7 @@ def send(self, message):
258259
#self.server.control.Counter.BusMessage += 1
259260
pdu = self.framer.buildPacket(message)
260261
if _logger.isEnabledFor(logging.DEBUG):
261-
_logger.debug('send: %s' % b2a_hex(pdu))
262+
_logger.debug('send: [%s]- %s' % (message, b2a_hex(pdu)))
262263
return self.socket.sendto(pdu, self.client_address)
263264

264265

pymodbus/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ def __str__(self):
4141
return '[%s, version %s]' % (self.package, self.short())
4242

4343

44-
version = Version('pymodbus', 2, 2, 0, "rc1")
44+
version = Version('pymodbus', 2, 2, 0, "rc2")
4545

4646

4747
version.__name__ = 'pymodbus' # fix epydoc error

0 commit comments

Comments
 (0)