Skip to content

Commit f40d796

Browse files
committed
works for both c and d firmware
1 parent 4039b12 commit f40d796

File tree

2 files changed

+42
-49
lines changed

2 files changed

+42
-49
lines changed

src/flight-software/main.py

Lines changed: 22 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
import board
66
import digitalio
77
import microcontroller
8+
from lib.adafruit_mcp230xx.mcp23017 import MCP23017
9+
from lib.adafruit_tca9548a import TCA9548A
810
from lib.proveskit_rp2350_v5b.register import Register
911
from lib.pysquared.beacon import Beacon
1012
from lib.pysquared.cdh import CommandDataHandler
@@ -13,20 +15,14 @@
1315
from lib.pysquared.hardware.digitalio import initialize_pin
1416
from lib.pysquared.hardware.imu.manager.lsm6dsox import LSM6DSOXManager
1517
from lib.pysquared.hardware.magnetometer.manager.lis2mdl import LIS2MDLManager
18+
from lib.pysquared.hardware.power_monitor.manager.ina219 import INA219Manager
1619
from lib.pysquared.hardware.radio.manager.rfm9x import RFM9xManager
1720
from lib.pysquared.hardware.radio.manager.sx1280 import SX1280Manager
1821
from lib.pysquared.hardware.radio.packetizer.packet_manager import PacketManager
1922
from lib.pysquared.logger import Logger
2023
from lib.pysquared.nvm.counter import Counter
24+
from lib.pysquared.protos.power_monitor import PowerMonitorProto
2125
from lib.pysquared.rtc.manager.microcontroller import MicrocontrollerManager
22-
from lib.pysquared.watchdog import Watchdog
23-
from lib.adafruit_mcp230xx.mcp23017 import MCP23017
24-
from lib.pysquared.hardware.power_monitor.manager.ina219 import INA219Manager
25-
26-
27-
from lib.adafruit_tca9548a import TCA9548A
28-
29-
3026
from version import __version__
3127

3228
boot_time: float = time.time()
@@ -56,16 +52,17 @@
5652
time.sleep(1)
5753

5854
try:
59-
6055
SPI0_CS0 = initialize_pin(logger, board.SPI0_CS0, digitalio.Direction.OUTPUT, True)
6156
SPI1_CS0 = initialize_pin(logger, board.SPI1_CS0, digitalio.Direction.OUTPUT, True)
62-
GPIO_RESET = initialize_pin(logger, board.GPIO_EXPANDER_RESET, digitalio.Direction.OUTPUT, True)
57+
GPIO_RESET = initialize_pin(
58+
logger, board.GPIO_EXPANDER_RESET, digitalio.Direction.OUTPUT, True
59+
)
6360

6461
i2c1 = initialize_i2c_bus(
65-
logger,
66-
board.I2C1_SCL,
67-
board.I2C1_SDA,
68-
100000,
62+
logger,
63+
board.I2C1_SCL,
64+
board.I2C1_SDA,
65+
100000,
6966
)
7067

7168
i2c0 = initialize_i2c_bus(
@@ -75,10 +72,9 @@
7572
100000,
7673
)
7774

75+
mcp = MCP23017(i2c1)
7876

79-
mcp = MCP23017(i2c1)
80-
81-
#GPB
77+
# GPB
8278
FACE4_ENABLE = mcp.get_pin(8)
8379
FACE0_ENABLE = mcp.get_pin(9)
8480
FACE1_ENABLE = mcp.get_pin(10)
@@ -110,7 +106,6 @@
110106
board.SPI1_MISO,
111107
)
112108

113-
114109
sband_radio = SX1280Manager(
115110
logger,
116111
config.radio,
@@ -123,13 +118,12 @@
123118
initialize_pin(logger, board.RF2_RX_EN, digitalio.Direction.OUTPUT, False),
124119
)
125120

126-
127121
uhf_radio = RFM9xManager(
128-
logger,
129-
config.radio,
130-
spi0,
131-
SPI0_CS0,
132-
initialize_pin(logger, board.RF1_RST, digitalio.Direction.OUTPUT, True),
122+
logger,
123+
config.radio,
124+
spi0,
125+
SPI0_CS0,
126+
initialize_pin(logger, board.RF1_RST, digitalio.Direction.OUTPUT, True),
133127
)
134128

135129
magnetometer = LIS2MDLManager(logger, i2c1)
@@ -157,7 +151,6 @@
157151
sband_radio,
158152
)
159153

160-
161154
# Face Control Helper Functions
162155
def all_faces_off():
163156
"""
@@ -169,7 +162,6 @@ def all_faces_off():
169162
FACE3_ENABLE.value = False
170163
FACE4_ENABLE.value = False
171164

172-
173165
def all_faces_on():
174166
"""
175167
This function turns on all of the faces. Note the load switches are enabled high.
@@ -180,16 +172,17 @@ def all_faces_on():
180172
FACE3_ENABLE.value = True
181173
FACE4_ENABLE.value = True
182174

183-
mux_reset = initialize_pin(logger, board.MUX_RESET, digitalio.Direction.OUTPUT, False)
175+
mux_reset = initialize_pin(
176+
logger, board.MUX_RESET, digitalio.Direction.OUTPUT, False
177+
)
184178
all_faces_on()
185179
time.sleep(0.1)
186180
mux_reset.value = True
187-
tca = TCA9548A(i2c0, address=int(0x77)) #all 3 connected to high
181+
tca = TCA9548A(i2c0, address=int(0x77)) # all 3 connected to high
188182

189183
battery_power_monitor: PowerMonitorProto = INA219Manager(logger, i2c0, 0x40)
190184
solar_power_monitor: PowerMonitorProto = INA219Manager(logger, i2c0, 0x41)
191185

192-
193186
def nominal_power_loop():
194187
logger.debug(
195188
"FC Board Stats",
@@ -204,8 +197,6 @@ def nominal_power_loop():
204197

205198
cdh.listen_for_commands(10)
206199

207-
sleep_helper.safe_sleep(config.sleep_duration)
208-
209200
try:
210201
logger.info("Entering main loop")
211202
while True:

src/flight-software/repl.py

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@
44
import board
55
import digitalio
66
from lib.adafruit_mcp230xx.mcp23017 import MCP23017
7-
from lib.adafruit_tca9548a import TCA9548A
8-
7+
from lib.adafruit_tca9548a import TCA9548A
98
from lib.pysquared.beacon import Beacon
109
from lib.pysquared.cdh import CommandDataHandler
1110
from lib.pysquared.config.config import Config
@@ -24,7 +23,8 @@
2423
from lib.pysquared.nvm.counter import Counter
2524
from lib.pysquared.protos.power_monitor import PowerMonitorProto
2625
from lib.pysquared.rtc.manager.microcontroller import MicrocontrollerManager
27-
#from lib.pysquared.sleep_helper import SleepHelper
26+
27+
# from lib.pysquared.sleep_helper import SleepHelper
2828
from lib.pysquared.watchdog import Watchdog
2929
from version import __version__
3030

@@ -47,33 +47,37 @@
4747
logger.debug("Initializing Config")
4848
config: Config = Config("config.json")
4949

50+
5051
def get_temp(sensor):
5152
for i in range(1000):
5253
print(sensor.get_temperature().value)
5354
time.sleep(0.1)
5455

56+
5557
SPI0_CS0 = initialize_pin(logger, board.SPI0_CS0, digitalio.Direction.OUTPUT, True)
5658
SPI1_CS0 = initialize_pin(logger, board.SPI1_CS0, digitalio.Direction.OUTPUT, True)
5759

58-
#manually set the pin high to allow mcp to be detected
59-
GPIO_RESET = initialize_pin(logger, board.GPIO_EXPANDER_RESET, digitalio.Direction.OUTPUT, True),
60+
# manually set the pin high to allow mcp to be detected
61+
GPIO_RESET = (
62+
initialize_pin(logger, board.GPIO_EXPANDER_RESET, digitalio.Direction.OUTPUT, True),
63+
)
6064

6165
i2c1 = initialize_i2c_bus(
6266
logger,
63-
board.I2C1_SCL,
64-
board.I2C1_SDA,
67+
board.SCL1,
68+
board.SDA1,
6569
100000,
6670
)
6771

6872
i2c0 = initialize_i2c_bus(
6973
logger,
70-
board.I2C0_SCL,
71-
board.I2C0_SDA,
74+
board.SCL0,
75+
board.SDA0,
7276
100000,
7377
)
7478

7579

76-
mcp = MCP23017(i2c1)
80+
mcp = MCP23017(i2c1)
7781

7882

7983
# #GPB
@@ -83,9 +87,9 @@ def get_temp(sensor):
8387
FACE2_ENABLE = mcp.get_pin(11)
8488
FACE3_ENABLE = mcp.get_pin(12)
8589
FACE5_ENABLE = mcp.get_pin(13)
86-
#READ ONLY
87-
#CHARGE
88-
90+
# READ ONLY
91+
# CHARGE
92+
8993
# GPA
9094
ENABLE_HEATER = mcp.get_pin(0)
9195
PAYLOAD_PWR_ENABLE = mcp.get_pin(1)
@@ -106,7 +110,6 @@ def get_temp(sensor):
106110
PAYLOAD_PWR_ENABLE.direction = digitalio.Direction.OUTPUT
107111

108112

109-
110113
# # TODO(nateinaction): fix spi init
111114
spi0 = _spi_init(
112115
logger,
@@ -135,7 +138,7 @@ def get_temp(sensor):
135138
)
136139

137140

138-
#sleep_helper = SleepHelper(logger, config, watchdog)
141+
# sleep_helper = SleepHelper(logger, config, watchdog)
139142

140143
uhf_radio = RFM9xManager(
141144
logger,
@@ -171,7 +174,6 @@ def get_temp(sensor):
171174
)
172175

173176

174-
175177
# Face Control Helper Functions
176178
def all_faces_off():
177179
"""
@@ -203,7 +205,7 @@ def all_faces_on():
203205
all_faces_on()
204206
time.sleep(0.1)
205207
mux_reset.value = True
206-
tca = TCA9548A(i2c0, address=int(0x77)) #all 3 connected to high
208+
tca = TCA9548A(i2c0, address=int(0x77)) # all 3 connected to high
207209

208210

209211
# # Light Sensors
@@ -289,7 +291,7 @@ def all_faces_on():
289291
except Exception:
290292
logger.debug("WARNING!!! Temp sensor 4 failed (Z- Face Bottom pins")
291293
temp_sensors.append(None)
292-
#these are the bottom 6 pins on the z- face connection, uncomment if that is where you plug in a face for the z- board
294+
# these are the bottom 6 pins on the z- face connection, uncomment if that is where you plug in a face for the z- board
293295
# try:
294296
# sensor = MCP9808Manager(logger, tca[6], addr=24)
295297
# temp_sensors.append(sensor)

0 commit comments

Comments
 (0)