Skip to content

Commit 9ab135e

Browse files
authored
Skips Sensors that Fails in init in repl (#10)
* lint fix * got rid of link issues p2
1 parent 1f43a91 commit 9ab135e

File tree

1 file changed

+39
-16
lines changed

1 file changed

+39
-16
lines changed

src/flight-software/repl.py

Lines changed: 39 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import os
22
import time
3+
from typing import Literal, cast
34

45
import board
56
import digitalio
@@ -200,27 +201,49 @@ def all_faces_on():
200201
tca = TCA9548A(i2c1, address=int(0x77))
201202

202203

203-
light_sensor0 = VEML7700Manager(logger, tca[0])
204-
light_sensor1 = VEML7700Manager(logger, tca[1])
205-
light_sensor2 = VEML7700Manager(logger, tca[2])
206-
light_sensor3 = VEML7700Manager(logger, tca[3])
207-
light_sensor4 = VEML7700Manager(logger, tca[4])
208-
209-
210-
## Onboard Temp Sensor ##
211-
temp_sensor5 = MCP9808Manager(logger, i2c0, addr=25) # Antenna Board
212-
temp_sensor6 = MCP9808Manager(logger, i2c1, addr=27) # Flight Controller Board
213-
temp_sensor0 = MCP9808Manager(logger, tca[0], addr=27)
214-
temp_sensor1 = MCP9808Manager(logger, tca[1], addr=27)
215-
temp_sensor2 = MCP9808Manager(logger, tca[2], addr=27)
216-
temp_sensor3 = MCP9808Manager(logger, tca[3], addr=27)
217-
temp_sensor4 = MCP9808Manager(logger, tca[4], addr=27)
204+
# Light Sensors
205+
light_sensors = []
206+
for i in range(5):
207+
try:
208+
sensor = VEML7700Manager(logger, tca[cast(Literal[0, 1, 2, 3, 4, 5, 6, 7], i)])
209+
light_sensors.append(sensor)
210+
except Exception:
211+
logger.debug(f"WARNING!!! Light sensor {i} failed to initialize")
212+
light_sensors.append(None)
213+
214+
# Onboard Temp Sensors
215+
temp_sensors = []
216+
217+
# Direct I2C sensors
218+
try:
219+
temp_sensor5 = MCP9808Manager(logger, i2c0, addr=25) # Antenna Board
220+
except Exception:
221+
logger.debug("WARNING!!! Temp sensor 5 (Antenna Board) failed")
222+
temp_sensor5 = None
223+
temp_sensors.append(temp_sensor5)
224+
225+
try:
226+
temp_sensor6 = MCP9808Manager(logger, i2c1, addr=27) # Flight Controller Board
227+
except Exception:
228+
logger.debug("WARNING!!! Temp sensor 6 (Flight Controller Board) failed")
229+
temp_sensor6 = None
230+
temp_sensors.append(temp_sensor6)
231+
232+
# TCA-connected temp sensors
233+
for i in range(5):
234+
try:
235+
sensor = MCP9808Manager(
236+
logger, tca[cast(Literal[0, 1, 2, 3, 4, 5, 6, 7], i)], addr=27
237+
)
238+
temp_sensors.append(sensor)
239+
except Exception:
240+
logger.debug(f"WARNING!!! Temp sensor {i} (TCA[{i}]) failed")
241+
temp_sensors.append(None)
218242

219243

220244
battery_power_monitor: PowerMonitorProto = INA219Manager(logger, i2c1, 0x40)
221245
solar_power_monitor: PowerMonitorProto = INA219Manager(logger, i2c1, 0x44)
222246

223-
224247
## Init Misc Pins ##
225248
burnwire_heater_enable = initialize_pin(
226249
logger, board.FIRE_DEPLOY1_A, digitalio.Direction.OUTPUT, False

0 commit comments

Comments
 (0)