22import time
33
44from pymodbus .exceptions import ModbusIOException
5- from pymodbus .exceptions import InvalidMessageRecievedException
5+ from pymodbus .exceptions import InvalidMessageReceivedException
66from pymodbus .utilities import checkCRC , computeCRC
77from pymodbus .utilities import hexlify_packets , ModbusTransactionState
88from pymodbus .compat import byte2int
@@ -213,27 +213,16 @@ def processIncomingPacket(self, data, callback, unit, **kwargs):
213213 unit = [unit ]
214214 self .addToFrame (data )
215215 single = kwargs .get ("single" , False )
216- while True :
217- if self .isFrameReady ():
218- if self .checkFrame ():
219- if self ._validate_unit_id (unit , single ):
220- self ._process (callback )
221- else :
222- _logger .debug ("Not a valid unit id - {}, "
223- "ignoring!!" .format (self ._header ['uid' ]))
224- self .resetFrame ()
225-
216+ if self .isFrameReady ():
217+ if self .checkFrame ():
218+ if self ._validate_unit_id (unit , single ):
219+ self ._process (callback )
226220 else :
227- # Could be an error response
228- if len (self ._buffer ):
229- # Possible error ???
230- self ._process (callback , error = True )
231- else :
232- if len (self ._buffer ):
233- # Possible error ???
234- if self ._header .get ('len' , 0 ) < 2 :
235- self ._process (callback , error = True )
236- break
221+ _logger .debug ("Not a valid unit id - {}, "
222+ "ignoring!!" .format (self ._header ['uid' ]))
223+ self .resetFrame ()
224+ else :
225+ _logger .debug ("Frame - [{}] not ready" .format (data ))
237226
238227 def buildPacket (self , message ):
239228 """
@@ -258,7 +247,7 @@ def sendPacket(self, message):
258247 # ModbusTransactionState.to_string(self.client.state))
259248 # )
260249 while self .client .state != ModbusTransactionState .IDLE :
261- if self .client .state == ModbusTransactionState .TRANSCATION_COMPLETE :
250+ if self .client .state == ModbusTransactionState .TRANSACTION_COMPLETE :
262251 ts = round (time .time (), 6 )
263252 _logger .debug ("Changing state to IDLE - Last Frame End - {}, "
264253 "Current Time stamp - {}" .format (
@@ -296,11 +285,6 @@ def recvPacket(self, size):
296285 :return:
297286 """
298287 result = self .client .recv (size )
299- # if self.client.state != ModbusTransactionState.PROCESSING_REPLY:
300- # _logger.debug("Changing transaction state from "
301- # "'WAITING FOR REPLY' to 'PROCESSING REPLY'")
302- # self.client.state = ModbusTransactionState.PROCESSING_REPLY
303-
304288 self .client .last_frame_end = round (time .time (), 6 )
305289 return result
306290
@@ -313,7 +297,7 @@ def _process(self, callback, error=False):
313297 if result is None :
314298 raise ModbusIOException ("Unable to decode request" )
315299 elif error and result .function_code < 0x80 :
316- raise InvalidMessageRecievedException (result )
300+ raise InvalidMessageReceivedException (result )
317301 else :
318302 self .populateResult (result )
319303 self .advanceFrame ()
0 commit comments