ModemATCommandLink: improve response time for "+CME ERROR"

Change-Id: I41af33c1898f5ed3d1c5238e45f956c6ceab2826
This commit is contained in:
Robert Falkenberg
2021-05-06 09:55:57 +02:00
parent 7cb7c78ca8
commit dddcc60f2d

View File

@@ -67,12 +67,16 @@ class ModemATCommandLink(LinkBase):
t_start = time.time()
while True:
rsp = rsp + self._sl.read(self._sl.in_waiting)
if rsp.endswith(b'OK\r\n'):
log.debug('Command finished with result: OK')
break
if rsp.endswith(b'ERROR\r\n'):
log.error('Command finished with result: ERROR')
break
lines = rsp.split(b'\r\n')
if len(lines) >= 2:
res = lines[-2]
if res == b'OK':
log.debug('Command finished with result: %s', res)
break
if res == b'ERROR' or res.startswith(b'+CME ERROR:'):
log.error('Command failed with result: %s', res)
break
if time.time() - t_start >= timeout:
log.info('Command finished with timeout >= %ss', timeout)
break