|
1 | 1 | import os |
2 | 2 | import time |
| 3 | +from typing import Literal, cast |
3 | 4 |
|
4 | 5 | import board |
5 | 6 | import digitalio |
@@ -200,27 +201,49 @@ def all_faces_on(): |
200 | 201 | tca = TCA9548A(i2c1, address=int(0x77)) |
201 | 202 |
|
202 | 203 |
|
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) |
218 | 242 |
|
219 | 243 |
|
220 | 244 | battery_power_monitor: PowerMonitorProto = INA219Manager(logger, i2c1, 0x40) |
221 | 245 | solar_power_monitor: PowerMonitorProto = INA219Manager(logger, i2c1, 0x44) |
222 | 246 |
|
223 | | - |
224 | 247 | ## Init Misc Pins ## |
225 | 248 | burnwire_heater_enable = initialize_pin( |
226 | 249 | logger, board.FIRE_DEPLOY1_A, digitalio.Direction.OUTPUT, False |
|
0 commit comments