Skip to content

Commit f828f8f

Browse files
authored
Merge pull request #145 from lucidcode/feature/send-errors
Add Wi-Fi and device error notifications
2 parents f150690 + 8b2cbd9 commit f828f8f

3 files changed

Lines changed: 18 additions & 8 deletions

File tree

release/firmware.bin

144 Bytes
Binary file not shown.

software/ble.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,14 @@ class inspec_comms:
1515
_IRQ_GATTS_INDICATE_DONE = const(20)
1616

1717
def __init__(self, message_received):
18+
self.connected = False
1819
self._connections = set()
1920
self.sending_image = False
2021
self.sending_file = False
21-
22-
self.connected = False
22+
self.send_errors = False
2323

2424
self.ble = bluetooth.BLE()
2525
self.ble.active(True)
26-
2726
self.ble.irq(self.irq)
2827
self.register()
2928
self.advertise()
@@ -54,6 +53,7 @@ def irq(self, event, data):
5453
conn_handle, _, _ = data
5554
self._connections.add(conn_handle)
5655
self.connected = True
56+
self.send_errors = False
5757
elif event == _IRQ_CENTRAL_DISCONNECT:
5858
self.connected = False
5959
conn_handle, _, _ = data

software/inspec.py

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
class inspec_sensor:
2222
def __init__(self):
2323
print(f'INSPEC {version}')
24+
self.error = None
2425
self.config = inspec_config()
2526
self.configure_sensor()
2627

@@ -127,11 +128,16 @@ def monitor(self):
127128

128129
if self.comms.sending_image or self.comms.sending_file:
129130
self.comms.process_file()
130-
131+
132+
if self.error != None and self.comms.send_errors:
133+
self.comms.send_data(f'error:{self.error}')
134+
self.error = None
135+
131136
except Exception as e:
132-
print("Error", str(e))
137+
self.error = str(e)
138+
print("Error", self.error)
133139
self.led.blink("R", 8)
134-
if str(e) == "IDE interrupt":
140+
if self.error == "IDE interrupt":
135141
break
136142

137143
def ble_message_received(self, message):
@@ -152,9 +158,12 @@ def ble_message_received(self, message):
152158
if message == "request.ip" and not self.stream == None:
153159
self.comms.send_data(f'ip:{self.stream.ip}')
154160

155-
if message == "request.version" and not self.stream == None:
161+
if message == "request.version":
156162
self.comms.send_data(f'version:{version}')
157163

164+
if message == "request.errors":
165+
self.comms.send_errors = True
166+
158167
if message.startswith("update.setting."):
159168
message = message.replace("update.setting.", "")
160169
setting, value = message.split(':')
@@ -267,7 +276,8 @@ def init_stream(self):
267276
self.stream = inspec_stream("Station", self.config.get('WiFiNetworkName'), self.config.get('WiFiKey'))
268277

269278
except Exception as e:
270-
print("init_stream error: ", str(e))
279+
self.error = str(e)
280+
print("init_stream error: ", self.error)
271281
self.stream = None
272282

273283
def send_stream(self):

0 commit comments

Comments
 (0)