2
2
import time
3
3
4
4
from pymodbus .exceptions import ModbusIOException
5
- from pymodbus .exceptions import InvalidMessageRecievedException
5
+ from pymodbus .exceptions import InvalidMessageReceivedException
6
6
from pymodbus .utilities import checkCRC , computeCRC
7
7
from pymodbus .utilities import hexlify_packets , ModbusTransactionState
8
8
from pymodbus .compat import byte2int
@@ -213,27 +213,16 @@ def processIncomingPacket(self, data, callback, unit, **kwargs):
213
213
unit = [unit ]
214
214
self .addToFrame (data )
215
215
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 )
226
220
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 ))
237
226
238
227
def buildPacket (self , message ):
239
228
"""
@@ -258,7 +247,7 @@ def sendPacket(self, message):
258
247
# ModbusTransactionState.to_string(self.client.state))
259
248
# )
260
249
while self .client .state != ModbusTransactionState .IDLE :
261
- if self .client .state == ModbusTransactionState .TRANSCATION_COMPLETE :
250
+ if self .client .state == ModbusTransactionState .TRANSACTION_COMPLETE :
262
251
ts = round (time .time (), 6 )
263
252
_logger .debug ("Changing state to IDLE - Last Frame End - {}, "
264
253
"Current Time stamp - {}" .format (
@@ -296,11 +285,6 @@ def recvPacket(self, size):
296
285
:return:
297
286
"""
298
287
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
-
304
288
self .client .last_frame_end = round (time .time (), 6 )
305
289
return result
306
290
@@ -313,7 +297,7 @@ def _process(self, callback, error=False):
313
297
if result is None :
314
298
raise ModbusIOException ("Unable to decode request" )
315
299
elif error and result .function_code < 0x80 :
316
- raise InvalidMessageRecievedException (result )
300
+ raise InvalidMessageReceivedException (result )
317
301
else :
318
302
self .populateResult (result )
319
303
self .advanceFrame ()
0 commit comments