Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

FeaturePriorityHardware UsagesExpected Due DateStatusDescription
W25Q1AllSoonTM
Needed for storing data on modules. Although only W25Q128 chips are used, driver should be able to dynamically support chips of different storage sizes.
Filesystem21AllSoonTM
Manage the storage and organization of data on a storage chip (W25Q)
RFM95W Driver1RadioDec 2023
RFM95W driver capable of transmitting and receiving radio frames. Should also support functionality for easily configuring software
KISS Protocol21RadioDec 2023
Simple packet format protocol for data commonly used with AX.25 and IPv4. 
AX.25 Protocol21RadioMay 2024
Data link protocol for radios. (ong whats with all these standards)
APRS Protocol21Radio

Another packet format mostly for transmitting GPS data.
TFTP Protocol2All

Transport Layer Protocol capable of basic file transfer. Useful if we want to send configuration files
Distributed Time Sync2Radio/All

Synchronize each module's time. Maybe Network Time Protocol?
ICMP Protocol2All

pls ping
VLAN2All

Virtual Local Area Network as a solution for redundant modules
IPv4 Routing2


Forward data packets across devices
RFC11491


Pigeons. 'Nuff said
Configuration Uploads2Radio/AllMay 2024
Support uploading configurations on the fly through GSW. Most device drivers will have functions for changing settings already, but there should be a more standardized way of configuring them. Uplinks should be ignored when rocket is in the air. 
Kalman Filter - Altitude3Autopilot

Reduce noisy data from sensors for improved altitude determinations.
More Sensor Fusion3Autopilot

More sensor fusion algorithms for getting more accurate flight data
Boost Detection1Autopilot/SensorDec 2023
Detect boost through sensor measurements. Useful for toggling data logging to save storage.
Landing Detection1Autopilot/SensorDec 2023
Detect landing through sensor measurements. Useful for toggling data logging to save storage.
Platform Support - Linux1AutopilotDec 2023
Linux Platform Support. MVP is GPIO for handling things like charge deployment.
Platform Support - Arduino3N/A

Arduino Platform Support. Nice to have for training new software people on our software stack due to reduced barrier for entry. Useful for teaching Space Race members interested in doing coding and they happen to be using Arduinos.
Platform Support - ESP323N/A

ESP32s can use Arduino platform, but native support would be good.
Static Code Analysis2All SoonTM
Static code analysis for detecting possible code defects (clangtidy, NASA IKOS)
Unit Testing3AllForever
Most software should be unit tested to reduce errors when modifying pre-existing code
CI/CD2AllSoonTM
GitHub Actions for doing compile checks, running unit tests, linting and auto-formatting to coding standards 

...