Skip to content

Commit fdd5b86

Browse files
authored
Merge pull request #503 from wnagele/ble_improvements
Make BLE connections a bit more resilient
2 parents 4522a8a + 4ebb928 commit fdd5b86

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

meshtastic/ble_interface.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ def __init__(self, address, noProto = False, debugOut = None):
6060
MeshInterface.__init__(self, debugOut = debugOut, noProto = noProto)
6161
self._startConfig()
6262
if not self.noProto:
63-
self._waitConnected()
63+
self._waitConnected(timeout = 60.0)
6464
self.waitForConfig()
6565
self.state.MESH = True
6666
logging.debug("Mesh init finished")
@@ -124,9 +124,14 @@ def _receiveFromRadioImpl(self):
124124
while self._receiveThread_started.is_set():
125125
if self.should_read:
126126
self.should_read = False
127+
retries = 0
127128
while True:
128129
b = bytes(self.client.read_gatt_char(FROMRADIO_UUID))
129130
if not b:
131+
if retries < 5:
132+
time.sleep(0.1)
133+
retries += 1
134+
continue
130135
break
131136
logging.debug(f"FROMRADIO read: {b.hex()}")
132137
self._handleFromRadio(b)

0 commit comments

Comments
 (0)