Refactor(#4): optimize scan function

https://www.notion.so/4-Controller-Uart-451f896953eb4e15bd70eeadb17eb94e
This commit is contained in:
Roy
2023-04-26 22:50:15 +08:00
parent fc4f931f9d
commit 9bb947f8e0
+22 -12
View File
@@ -2034,22 +2034,32 @@ class CC2650SingleMasterCentralDevice(CC2650MasterDevice, Synchronized):
ins.append(0xF1)
self._interface.flush_input()
try:
self.log_verbose('[CC2650]', 'scan_callback att_write','0x'+str.upper(ins.hex()))
self._cc2650.send("bytes", bytes(ins))
except SerialTimeoutException:
self.log_verbose('[CC2650]', 'scan_callback send fail')
else:
for _ in range(5):
try:
scan_response = self._cc2650.recv_uart(0.01)
self.log_verbose('[CC2650]', 'scan_callback att_write','0x'+str.upper(ins.hex()))
self._cc2650.send("bytes", bytes(ins))
except RecvTimeout:
self.log_verbose('[CC2650]', 'scan_callback response timeout, no device')
return False
except SerialTimeoutException:
self.log_verbose('[CC2650]', 'scan_callback send fail, rescan')
continue
else:
try:
scan_response = self._cc2650.recv_uart(0.01)
except RecvTimeout:
self.log_verbose('[CC2650]', 'scan_callback response timeout, no device, rescan')
continue
else:
if scan_response is None:
self.log_verbose('[CC2650]', 'scan_callback response is None, rescan')
continue
else:
break
if scan_response is None:
self.log_verbose('[CC2650]', 'scan_callback response is None--2')
return False
scan_response_hex = ''.join(format(i, '02X') for i in scan_response)