From d081d42b53e22c8465d7cb5aa0b5f932b6c0521a Mon Sep 17 00:00:00 2001 From: Francois Wautier Date: Fri, 29 Jan 2021 18:18:13 +0700 Subject: [PATCH] self._header needs to be set to {}. If not, the first frame would always be missed. populateHeader() is called in isFrameReady() and checkFrame(). In isFrameReady, populateHeader is only called 'if not self._header', and checkFrame is only called 'if isFrameReady()'. Reset also sets self._header to {}. --- pymodbus/framer/rtu_framer.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pymodbus/framer/rtu_framer.py b/pymodbus/framer/rtu_framer.py index c5fe5a616..d862c157e 100644 --- a/pymodbus/framer/rtu_framer.py +++ b/pymodbus/framer/rtu_framer.py @@ -60,7 +60,7 @@ def __init__(self, decoder, client=None): :param decoder: The decoder factory implementation to use """ self._buffer = b'' - self._header = {'uid': 0x00, 'len': 0, 'crc': '0000'} + self._header = {} self._hsize = 0x01 self._end = b'\x0d\x0a' self._min_frame_size = 4