Skip to content

Commit 21b7969

Browse files
committed
S-band radio implementation!
1 parent db2dd63 commit 21b7969

File tree

7 files changed

+44
-7
lines changed

7 files changed

+44
-7
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
PYSQUARED_VERSION ?= v2.0.0-alpha-25w26-2
1+
PYSQUARED_VERSION ?=mike-dev
22
PYSQUARED ?= git+https://github.com/proveskit/pysquared@$(PYSQUARED_VERSION)
33
BOARD_MOUNT_POINT ?= ""
44
BOARD_TTY_PORT ?= ""

config.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
"cubesat_name": "Orpheus",
55
"current_draw": 240.5,
66
"debug": true,
7+
"degraded_battery_voltage": 7.0,
78
"detumble_enable_x": true,
89
"detumble_enable_y": true,
910
"detumble_enable_z": true,
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
class Register:
22
boot_count = 0
33
error_count = 1
4+
message_count = 2

src/flight-software/main.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@
109109
logger,
110110
uhf_radio,
111111
config.radio.license,
112+
Counter(Register.message_count),
112113
0.2,
113114
)
114115

src/flight-software/repl.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
from lib.adafruit_veml7700 import VEML7700 ### This is Hacky V5a Devel Stuff###
2525

2626
# from lib.pysquared.Big_Data import AllFaces ### This is Hacky V5a Devel Stuff###
27+
from lib.proveskit_rp2350_v5b.register import Register
2728
from lib.pysquared.beacon import Beacon
2829
from lib.pysquared.cdh import CommandDataHandler
2930
from lib.pysquared.config.config import Config
@@ -117,6 +118,7 @@
117118
logger,
118119
uhf_radio,
119120
config.radio.license,
121+
Counter(Register.message_count),
120122
0.2,
121123
)
122124

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
adafruit-circuitpython-asyncio @ git+https://github.com/adafruit/adafruit_circuitpython_asyncio@1.3.3
22
adafruit-circuitpython-rfm==1.0.3
3+
proves-circuitpython-sx1280 @ git+https://github.com/proveskit/CircuitPython_SX1280@1.0.3
34
adafruit-circuitpython-ticks==1.1.1
4-
proveskit-ground-station @ git+https://github.com/proveskit/circuitpython_ground_station@0.0.1
5+
proveskit-ground-station @ git+https://github.com/proveskit/circuitpython_ground_station@david-dev

src/ground-station/repl.py

Lines changed: 36 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
from lib.pysquared.hardware.busio import _spi_init
88
from lib.pysquared.hardware.digitalio import initialize_pin
99
from lib.pysquared.hardware.radio.manager.rfm9x import RFM9xManager
10+
from lib.pysquared.hardware.radio.manager.sx1280 import SX1280Manager
1011
from lib.pysquared.hardware.radio.packetizer.packet_manager import PacketManager
1112
from lib.pysquared.logger import Logger
1213
from lib.pysquared.nvm.counter import Counter
@@ -24,18 +25,48 @@
2425
board.SPI0_MISO,
2526
)
2627

27-
radio = RFM9xManager(
28+
spi1 = _spi_init(
2829
logger,
29-
config.radio,
30-
spi0,
31-
initialize_pin(logger, board.SPI0_CS0, digitalio.Direction.OUTPUT, True),
32-
initialize_pin(logger, board.RF1_RST, digitalio.Direction.OUTPUT, True),
30+
board.SPI1_SCK,
31+
board.SPI1_MOSI,
32+
board.SPI1_MISO,
3333
)
3434

35+
print("Please select which radio you wish to use...")
36+
print("1 for UHF or 2 for S-Band")
37+
38+
selection = input()
39+
40+
if selection == "1":
41+
radio = RFM9xManager(
42+
logger,
43+
config.radio,
44+
spi0,
45+
initialize_pin(logger, board.SPI0_CS0, digitalio.Direction.OUTPUT, True),
46+
initialize_pin(logger, board.RF1_RST, digitalio.Direction.OUTPUT, True),
47+
)
48+
elif selection == "2":
49+
radio = SX1280Manager(
50+
logger,
51+
config.radio,
52+
spi1,
53+
initialize_pin(logger, board.SPI1_CS0, digitalio.Direction.OUTPUT, True),
54+
initialize_pin(logger, board.RF2_RST, digitalio.Direction.OUTPUT, True),
55+
initialize_pin(logger, board.RF2_IO0, digitalio.Direction.OUTPUT, True),
56+
2.4,
57+
initialize_pin(logger, board.RF2_TX_EN, digitalio.Direction.OUTPUT, False),
58+
initialize_pin(logger, board.RF2_RX_EN, digitalio.Direction.OUTPUT, False),
59+
)
60+
61+
else:
62+
print("Invalid selection. Exiting.")
63+
exit()
64+
3565
packet_manager = PacketManager(
3666
logger,
3767
radio,
3868
config.radio.license,
69+
Counter(2),
3970
0.2,
4071
)
4172

0 commit comments

Comments
 (0)