From 556b99892f4df662a6fb1045c3c59d69d57b2f39 Mon Sep 17 00:00:00 2001 From: Michael Pham <61564344+Mikefly123@users.noreply.github.com> Date: Fri, 26 Sep 2025 12:55:15 -0700 Subject: [PATCH 1/8] Bump PySquared Version --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index a61f49c..f81de89 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -PYSQUARED_VERSION ?= v2.0.0-alpha-25w34 +PYSQUARED_VERSION ?= v2.0.0-alpha-25w39 PYSQUARED ?= git+https://github.com/proveskit/pysquared@$(PYSQUARED_VERSION) BOARD_MOUNT_POINT ?= "" BOARD_TTY_PORT ?= "" From 62656d002a07d45d49af36b4ccaa29675e80f45b Mon Sep 17 00:00:00 2001 From: Michael Pham <61564344+Mikefly123@users.noreply.github.com> Date: Fri, 26 Sep 2025 12:57:42 -0700 Subject: [PATCH 2/8] Replaced Sleep Helper with CDH Listen --- src/flight-software/main.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/flight-software/main.py b/src/flight-software/main.py index 33ab8c1..5713455 100644 --- a/src/flight-software/main.py +++ b/src/flight-software/main.py @@ -140,7 +140,9 @@ def nominal_power_loop(): cdh.listen_for_commands(10) - sleep_helper.safe_sleep(config.sleep_duration) + beacon.send() + + cdh.listen_for_commands(config.sleep_duration) try: logger.info("Entering main loop") From ca122b02a88bd720d65a27c5e92cfbf386720b8d Mon Sep 17 00:00:00 2001 From: Nate Gay Date: Sat, 27 Sep 2025 13:08:46 -0500 Subject: [PATCH 3/8] Update pysquared reference --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index f81de89..7db5f7f 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ PYSQUARED_VERSION ?= v2.0.0-alpha-25w39 -PYSQUARED ?= git+https://github.com/proveskit/pysquared@$(PYSQUARED_VERSION) +PYSQUARED ?= git+https://github.com/proveskit/pysquared@$(PYSQUARED_VERSION)\#subdirectory=circuitpython-workspaces/flight-software BOARD_MOUNT_POINT ?= "" BOARD_TTY_PORT ?= "" VERSION ?= $(shell git tag --points-at HEAD --sort=-creatordate < /dev/null | head -n 1) From 8e28e0339a1c64538f1b26db9d0f58bb8edf021f Mon Sep 17 00:00:00 2001 From: Michael Pham <61564344+Mikefly123@users.noreply.github.com> Date: Sun, 28 Sep 2025 11:43:40 -0700 Subject: [PATCH 4/8] HOTFIX: Remove Magnetometer From Beacon --- src/flight-software/main.py | 3 ++- src/flight-software/repl.py | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/flight-software/main.py b/src/flight-software/main.py index 5713455..a7309c9 100644 --- a/src/flight-software/main.py +++ b/src/flight-software/main.py @@ -121,7 +121,8 @@ uhf_packet_manager, boot_time, imu, - magnetometer, + # TODO (mikefly123): add back in magnetometer once it is fixed upstream + # magnetometer, uhf_radio, sband_radio, error_count, diff --git a/src/flight-software/repl.py b/src/flight-software/repl.py index b97c533..839a383 100644 --- a/src/flight-software/repl.py +++ b/src/flight-software/repl.py @@ -130,7 +130,8 @@ def get_temp(sensor): uhf_packet_manager, time.monotonic(), imu, - magnetometer, + # TODO (mikefly123): add back in magnetometer once it is fixed upstream + # magnetometer, uhf_radio, sband_radio, ) From c9fdbc8b2f450d19725dc1c243590d9e912365a7 Mon Sep 17 00:00:00 2001 From: Michael Pham <61564344+Mikefly123@users.noreply.github.com> Date: Tue, 30 Sep 2025 17:59:16 -0700 Subject: [PATCH 5/8] Update to 25w40 --- Makefile | 2 +- src/flight-software/main.py | 3 +-- src/flight-software/repl.py | 3 +-- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 7db5f7f..d547af6 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -PYSQUARED_VERSION ?= v2.0.0-alpha-25w39 +PYSQUARED_VERSION ?= v2.0.0-alpha-25w40 PYSQUARED ?= git+https://github.com/proveskit/pysquared@$(PYSQUARED_VERSION)\#subdirectory=circuitpython-workspaces/flight-software BOARD_MOUNT_POINT ?= "" BOARD_TTY_PORT ?= "" diff --git a/src/flight-software/main.py b/src/flight-software/main.py index a7309c9..5713455 100644 --- a/src/flight-software/main.py +++ b/src/flight-software/main.py @@ -121,8 +121,7 @@ uhf_packet_manager, boot_time, imu, - # TODO (mikefly123): add back in magnetometer once it is fixed upstream - # magnetometer, + magnetometer, uhf_radio, sband_radio, error_count, diff --git a/src/flight-software/repl.py b/src/flight-software/repl.py index 839a383..b97c533 100644 --- a/src/flight-software/repl.py +++ b/src/flight-software/repl.py @@ -130,8 +130,7 @@ def get_temp(sensor): uhf_packet_manager, time.monotonic(), imu, - # TODO (mikefly123): add back in magnetometer once it is fixed upstream - # magnetometer, + magnetometer, uhf_radio, sband_radio, ) From f9838443746838cba8c38e9d5e7aa33b14eb9ce9 Mon Sep 17 00:00:00 2001 From: ineskhou Date: Wed, 1 Oct 2025 17:55:33 -0700 Subject: [PATCH 6/8] added load switch to repl --- Makefile | 4 ++-- src/flight-software/repl.py | 31 +++++++++++++++++++++---------- 2 files changed, 23 insertions(+), 12 deletions(-) diff --git a/Makefile b/Makefile index d547af6..b1d287f 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -PYSQUARED_VERSION ?= v2.0.0-alpha-25w40 +PYSQUARED_VERSION ?= mike-loadswitch-proto PYSQUARED ?= git+https://github.com/proveskit/pysquared@$(PYSQUARED_VERSION)\#subdirectory=circuitpython-workspaces/flight-software BOARD_MOUNT_POINT ?= "" BOARD_TTY_PORT ?= "" @@ -9,7 +9,7 @@ all: .venv typeshed download-libraries pre-commit-install help .PHONY: help help: ## Display this help. - @awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make \033[36m\033[0m\n"} /^[a-zA-Z_0-9-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST) + @awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make \033[3mike-loadswitch-proto6m\033[0m\n"} /^[a-zA-Z_0-9-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST) ##@ Development diff --git a/src/flight-software/repl.py b/src/flight-software/repl.py index b97c533..0efb215 100644 --- a/src/flight-software/repl.py +++ b/src/flight-software/repl.py @@ -17,6 +17,9 @@ from lib.pysquared.hardware.digitalio import initialize_pin from lib.pysquared.hardware.imu.manager.lsm6dsox import LSM6DSOXManager from lib.pysquared.hardware.light_sensor.manager.veml7700 import VEML7700Manager +from lib.pysquared.hardware.load_switch.manager.loadswitch_manager import ( + LoadSwitchManager, +) from lib.pysquared.hardware.magnetometer.manager.lis2mdl import LIS2MDLManager from lib.pysquared.hardware.power_monitor.manager.ina219 import INA219Manager from lib.pysquared.hardware.radio.manager.rfm9x import RFM9xManager @@ -33,6 +36,7 @@ rtc = MicrocontrollerManager() + logger: Logger = Logger( error_counter=Counter(0), colorized=False, @@ -169,27 +173,34 @@ def get_temp(sensor): PAYLOAD_PWR_ENABLE.direction = digitalio.Direction.OUTPUT +load_switch_0 = LoadSwitchManager(FACE0_ENABLE, True) +load_switch_1 = LoadSwitchManager(FACE1_ENABLE, True) +load_switch_2 = LoadSwitchManager(FACE2_ENABLE, True) +load_switch_3 = LoadSwitchManager(FACE3_ENABLE, True) +load_switch_4 = LoadSwitchManager(FACE4_ENABLE, True) + + # Face Control Helper Functions def all_faces_off(): """ This function turns off all of the faces. Note the load switches are disabled low. """ - FACE0_ENABLE.value = False - FACE1_ENABLE.value = False - FACE2_ENABLE.value = False - FACE3_ENABLE.value = False - FACE4_ENABLE.value = False + load_switch_0.disable_load() + load_switch_1.disable_load() + load_switch_2.disable_load() + load_switch_3.disable_load() + load_switch_4.disable_load() def all_faces_on(): """ This function turns on all of the faces. Note the load switches are enabled high. """ - FACE0_ENABLE.value = True - FACE1_ENABLE.value = True - FACE2_ENABLE.value = True - FACE3_ENABLE.value = True - FACE4_ENABLE.value = True + load_switch_0.enable_load() + load_switch_1.enable_load() + load_switch_2.enable_load() + load_switch_3.enable_load() + load_switch_4.enable_load() ## Face Sensor Stuff ## From a899d5be6cd20a0599ff6c27125f5d4169c46657 Mon Sep 17 00:00:00 2001 From: ineskhou Date: Wed, 1 Oct 2025 18:45:36 -0700 Subject: [PATCH 7/8] points to new release --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index b1d287f..ae96c7f 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -PYSQUARED_VERSION ?= mike-loadswitch-proto +PYSQUARED_VERSION ?= v2.0.0-alpha-25w40a PYSQUARED ?= git+https://github.com/proveskit/pysquared@$(PYSQUARED_VERSION)\#subdirectory=circuitpython-workspaces/flight-software BOARD_MOUNT_POINT ?= "" BOARD_TTY_PORT ?= "" @@ -9,7 +9,7 @@ all: .venv typeshed download-libraries pre-commit-install help .PHONY: help help: ## Display this help. - @awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make \033[3mike-loadswitch-proto6m\033[0m\n"} /^[a-zA-Z_0-9-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST) + @awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make \033[36m\033[0m\n"} /^[a-zA-Z_0-9-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST) ##@ Development From be62728155b7cfd0d7df0e28fb7c57d795fea126 Mon Sep 17 00:00:00 2001 From: ineskhou Date: Wed, 1 Oct 2025 18:52:32 -0700 Subject: [PATCH 8/8] appease linter --- src/flight-software/repl.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/flight-software/repl.py b/src/flight-software/repl.py index 0efb215..e4b10b3 100644 --- a/src/flight-software/repl.py +++ b/src/flight-software/repl.py @@ -173,11 +173,11 @@ def get_temp(sensor): PAYLOAD_PWR_ENABLE.direction = digitalio.Direction.OUTPUT -load_switch_0 = LoadSwitchManager(FACE0_ENABLE, True) -load_switch_1 = LoadSwitchManager(FACE1_ENABLE, True) -load_switch_2 = LoadSwitchManager(FACE2_ENABLE, True) -load_switch_3 = LoadSwitchManager(FACE3_ENABLE, True) -load_switch_4 = LoadSwitchManager(FACE4_ENABLE, True) +load_switch_0 = LoadSwitchManager(FACE0_ENABLE, True) # type: ignore , upstream on mcp TODO +load_switch_1 = LoadSwitchManager(FACE1_ENABLE, True) # type: ignore , upstream on mcp TODO +load_switch_2 = LoadSwitchManager(FACE2_ENABLE, True) # type: ignore , upstream on mcp TODO +load_switch_3 = LoadSwitchManager(FACE3_ENABLE, True) # type: ignore , upstream on mcp TODO +load_switch_4 = LoadSwitchManager(FACE4_ENABLE, True) # type: ignore , upstream on mcp TODO # Face Control Helper Functions