Browse Source

Added exception handling on timeout

feature/balanceutils
klonfish 7 years ago committed by klonfish
parent
commit
7a45e7d51e
  1. 9
      wii-pair/wiiboard.py

9
wii-pair/wiiboard.py

@ -70,9 +70,7 @@ class Wiiboard:
try: try:
self.datasocket = bluetooth.BluetoothSocket(bluetooth.L2CAP) self.datasocket = bluetooth.BluetoothSocket(bluetooth.L2CAP)
self.datasocket.settimeout(2)
self.controlsocket = bluetooth.BluetoothSocket(bluetooth.L2CAP) self.controlsocket = bluetooth.BluetoothSocket(bluetooth.L2CAP)
self.controlsocket.settimeout(2)
except ValueError: except ValueError:
raise Exception("Error: Bluetooth not found") raise Exception("Error: Bluetooth not found")
@ -88,7 +86,9 @@ class Wiiboard:
print("Non existant address") print("Non existant address")
return return
self.datasocket.connect((address, 0x13)) self.datasocket.connect((address, 0x13))
self.datasocket.settimeout(2)
self.controlsocket.connect((address, 0x11)) self.controlsocket.connect((address, 0x11))
self.controlsocket.settimeout(2)
if self.datasocket and self.controlsocket: if self.datasocket and self.controlsocket:
print("Connected to Wiiboard at address " + address) print("Connected to Wiiboard at address " + address)
self.status = "Connected" self.status = "Connected"
@ -181,7 +181,7 @@ class Wiiboard:
# Thread that listens for incoming data # Thread that listens for incoming data
def receivethread(self): def receivethread(self):
while self.status == "Connected": while self.status == "Connected":
if True: try:
data = self.datasocket.recv(25) data = self.datasocket.recv(25)
intype = data[1] intype = data[1]
if intype == INPUT_STATUS: if intype == INPUT_STATUS:
@ -202,6 +202,9 @@ class Wiiboard:
else: else:
print("ACK to data write received") print("ACK to data write received")
except bluetooth.btcommon.BluetoothError:
print('Error! Disconnecting')
self.disconnect()
self.status = "Disconnected" self.status = "Disconnected"
self.disconnect() self.disconnect()

Loading…
Cancel
Save