Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
141 commits
Select commit Hold shift + click to select a range
9826820
meta log asdfasdf
mpkarpov-ui Feb 1, 2026
a069cc6
Cleanup with the meta_logging and rocket_state.h
MichaelCyrwus Feb 26, 2026
ac4cedd
Successful meta-log build. Untested
MichaelCyrwus Mar 8, 2026
4173a8c
Testing for the Metalog feature. Hard coding state transitions.
MichaelCyrwus Mar 28, 2026
e637858
Merge remote-tracking branch 'origin/main' into feature/meta-logs
JueSung Apr 1, 2026
1aa1134
Fix
JueSung Apr 1, 2026
e72cb00
GET SENDYYY
JueSung Apr 1, 2026
c6bc4c1
check systems/metalogging
MuhammadAli8209 Apr 4, 2026
04d13a4
unfinished recovery descent rate midas metadata
Apr 4, 2026
a56dcfa
fixed emily's typo
mihirshevade Apr 4, 2026
921aac2
doing things with buzzers
mihirshevade Apr 5, 2026
ba2c280
adding basic buzzer stuff
mpark108 Apr 5, 2026
cffafe3
added title to readme
mpark108 Apr 5, 2026
c5de242
adding to readme
mpark108 Apr 5, 2026
e80374e
Free Bird revamped and James Bond Theme added
mihirshevade Apr 5, 2026
285c46d
slight tweaks
mpark108 Apr 5, 2026
bbd07fa
Fixed certain log_data() functions to be log_event()
MichaelCyrwus Apr 8, 2026
bd861bd
data logging
mpkarpov-ui Apr 2, 2026
a45b9bf
fix script
mpkarpov-ui Apr 2, 2026
4e685e6
log integration into meta logging
mpkarpov-ui Apr 15, 2026
05484a8
midas shell v1.0
mpkarpov-ui Mar 31, 2026
65515a4
[untested] serial shell command
tjmcmanamen38 Apr 1, 2026
91f109e
(untested) added set/get frequency functionality to shell
tjmcmanamen38 Apr 3, 2026
c921f07
serial + frequency commands working
tjmcmanamen38 Apr 3, 2026
3ded5ef
shell fsm configuration commit of doom
tjmcmanamen38 Apr 4, 2026
ccdd2b2
new fsm lol
mpkarpov-ui Apr 4, 2026
fb002a7
[untested] display units for shell fsm configuration
tjmcmanamen38 Apr 6, 2026
1bb3224
omg it works
mpkarpov-ui Apr 4, 2026
1e7b6d3
fixed fsm shell unit bugs, error checking, cleaned up code, wrote fsm…
tjmcmanamen38 Apr 7, 2026
027eef8
fsm silsim commit of doom
mpkarpov-ui Apr 7, 2026
1a62806
undoom the mcu_main
mpkarpov-ui Apr 7, 2026
76a09e4
oops
mpkarpov-ui Apr 7, 2026
4e18456
Added more test cases!
mpkarpov-ui Apr 8, 2026
69f7c6d
fix csv reference in aether_nofire test
mpkarpov-ui Apr 8, 2026
25c84ee
Rename env
mpkarpov-ui Apr 8, 2026
eaf05ed
stupid fat hobbit
mpkarpov-ui Apr 8, 2026
a2e9d57
fix fsm include
mpkarpov-ui Apr 8, 2026
8b986e4
condense booster+sustainer build targets
mpkarpov-ui Apr 14, 2026
114691a
condense ground
mpkarpov-ui Apr 15, 2026
0bc2feb
fix ci
mpkarpov-ui Apr 15, 2026
7b79969
IT BUILDS!!!!!!!!! (and breaks everything)
mpkarpov-ui Apr 15, 2026
e0f5cba
remove outputs
mpkarpov-ui Apr 15, 2026
cc4a20e
remove groundstation folder
mpkarpov-ui Apr 15, 2026
78f8ee1
more commands
mpkarpov-ui Apr 15, 2026
85de0db
add calib commands & write fail detection
mpkarpov-ui Apr 16, 2026
6f15396
4 pin write + bump down sd freq
mpkarpov-ui Apr 16, 2026
361af43
comment fsm state
tjmcmanamen38 Apr 16, 2026
ec89c79
moved buzzer tune generation code to root of repo, slight cleanup
tjmcmanamen38 Apr 16, 2026
4425b42
fix EVERYTHING!!!!
mpkarpov-ui Apr 16, 2026
f718da8
deleting midi files
tjmcmanamen38 Apr 16, 2026
5fbf71d
Merge pull request #209 from ISSUIUC/feature/james-bond
tjmcmanamen38 Apr 16, 2026
2e4fb82
:)
mpkarpov-ui Apr 16, 2026
73bf326
increase buzz length
mpkarpov-ui Apr 16, 2026
0699f5d
Added James Bond detection
mihirshevade Apr 16, 2026
1b74cf4
forgot an indent on the comment :(
mihirshevade Apr 16, 2026
7b84e59
remove mv, add wp
mpkarpov-ui Apr 16, 2026
81f3c0c
shifted feather code to be stage independent, serial number in Teleme…
tjmcmanamen38 Apr 17, 2026
3f161b5
improved TelemetryCommand serial number management
tjmcmanamen38 Apr 17, 2026
365f9ef
Identifying MIDAS thru shell for MIDAS Base
MuhammadAli8209 Apr 18, 2026
1902953
compiler
theodoreng15 Apr 18, 2026
973d9c8
working on metalogging functions after new fsm did stuff
ekyro1 Apr 19, 2026
64b7705
reorder for log_enc
mpkarpov-ui Apr 19, 2026
dda45ba
added eeprom files
tjmcmanamen38 Apr 19, 2026
9234be5
added midas shell files
tjmcmanamen38 Apr 19, 2026
64d1ef1
begun adapting feather duo software for shell and eeprom
tjmcmanamen38 Apr 19, 2026
b8a41f6
fixed important build issues, some others related to in progress changes
tjmcmanamen38 Apr 19, 2026
f80f5ce
new eeprom/systems format for easier access, started implementing she…
tjmcmanamen38 Apr 20, 2026
4735c23
idle->armed command, implemented state, cam, calib commands
tjmcmanamen38 Apr 22, 2026
e92772e
I am a fool
tjmcmanamen38 Apr 22, 2026
6075324
restructuring main for compatibility with shell, removed management t…
tjmcmanamen38 Apr 23, 2026
6970c2c
metalogging updates, data_logging_meta.h builds and fsm_transitioned_…
ekyro1 Apr 25, 2026
3e1b21a
metalogging is done??
ekyro1 Apr 26, 2026
00e6dc7
Merge pull request #211 from ISSUIUC/bugfix/metalog-fixes
ekyro1 Apr 26, 2026
539900d
load eeprom on startup, other final changes before testing
tjmcmanamen38 Apr 27, 2026
ee1485d
bugfixes, commands working with midas
tjmcmanamen38 Apr 27, 2026
a5e0847
removed comment
tjmcmanamen38 Apr 27, 2026
8a9371e
implementing some of Michael's requests - simpler command structure
tjmcmanamen38 Apr 29, 2026
74ca8c4
fixed initialization order
tjmcmanamen38 May 2, 2026
a093087
Merge pull request #210 from ISSUIUC/feature/feather-revamp
tjmcmanamen38 May 4, 2026
410617d
:)
mpkarpov-ui May 4, 2026
de6559a
fix
mpkarpov-ui May 4, 2026
b216b09
adc works
mpkarpov-ui May 5, 2026
58b0865
remove print
mpkarpov-ui May 5, 2026
c54ce55
fix header and add --head flag to lfd
mpkarpov-ui May 4, 2026
6e403fd
fix lfd
mpkarpov-ui May 5, 2026
0dee6c4
Increase measurement rate + reduce loop polling
mpkarpov-ui May 5, 2026
726c621
Merge pull request #212 from ISSUIUC/bugfix/pyro-i2c-contention
mpkarpov-ui May 7, 2026
e50628c
my evil plan is coming to fruition
mpkarpov-ui May 7, 2026
c635cd7
Merge pull request #214 from ISSUIUC/bugfix/log-header-fmt-fix
mpkarpov-ui May 7, 2026
dada7c2
Merge pull request #216 from ISSUIUC/feature/lfdtools
mpkarpov-ui May 7, 2026
6e404db
fix gps telem
tjmcmanamen38 May 8, 2026
33a0c11
Merge pull request #215 from ISSUIUC/bugfix/faster-gps-output
tjmcmanamen38 May 9, 2026
c0f53ef
Remove GNC heap allocations
mpkarpov-ui May 10, 2026
3af6a31
don't steal the i2c mutex for 800 years on camera failure
mpkarpov-ui May 10, 2026
846864c
squash the rest of the vectors
mpkarpov-ui May 10, 2026
69c3d4b
New Kamaji/HIL
mpkarpov-ui Oct 18, 2025
bf51e6a
Add stream initial
mpkarpov-ui Oct 18, 2025
4e59511
more stream stuff
mpkarpov-ui Oct 28, 2025
629eeda
yay!
mpkarpov-ui Oct 29, 2025
2e97735
Cleanup
mpkarpov-ui Oct 29, 2025
47997db
cleanup v2
mpkarpov-ui Oct 29, 2025
e30a53a
fox
mpkarpov-ui Nov 1, 2025
4463550
fixes from 11/2
mpkarpov-ui Nov 3, 2025
4047e2d
fix telem backend compile
mpkarpov-ui Nov 3, 2025
e41a18f
add first kamaji ci
mpkarpov-ui Nov 3, 2025
9d83b00
add ident
mpkarpov-ui Nov 4, 2025
519ee4e
fixup compile on windows
mpkarpov-ui Nov 5, 2025
90c389b
update kserial
mpkarpov-ui Nov 6, 2025
93000ab
improve out
mpkarpov-ui Nov 6, 2025
f2f9ee4
windows compat
mpkarpov-ui Nov 6, 2025
79d8cd2
bad read cerr
mpkarpov-ui Nov 6, 2025
1d47109
stupid stupid stupid
mpkarpov-ui Nov 6, 2025
5be4512
Update for cameradata
mpkarpov-ui Nov 6, 2025
905a539
fixup file read mode
mpkarpov-ui Nov 6, 2025
2c00a84
fix outf
mpkarpov-ui Nov 6, 2025
c6b8722
make S return stdout err
mpkarpov-ui Nov 6, 2025
e166ba0
only report .BEGIN on success
mpkarpov-ui Nov 6, 2025
1548047
add ci for native build
mpkarpov-ui Nov 6, 2025
a4f3add
fix type
mpkarpov-ui Nov 6, 2025
d22a12a
fix program ext
mpkarpov-ui Nov 6, 2025
bb68ca4
nightmare nightmare nightmare (switched to cygwin c++ compiler) + add…
mpkarpov-ui Nov 6, 2025
2b31458
edit serialib to work with cygwin
mpkarpov-ui Nov 6, 2025
e0f71bd
add flushes
mpkarpov-ui Nov 6, 2025
cc12881
re-add wait on restart
mpkarpov-ui Nov 6, 2025
e6398c9
refactor N
mpkarpov-ui Nov 6, 2025
c0ee8da
add filter, T, and speedup
mpkarpov-ui Nov 7, 2025
503caa4
add debug
mpkarpov-ui Nov 7, 2025
08e78f4
asdfasdfas
mpkarpov-ui Nov 7, 2025
d91efde
stream parity maybe
mpkarpov-ui Nov 7, 2025
78eef37
please just work
mpkarpov-ui Nov 7, 2025
f8fd2b7
parity baud
mpkarpov-ui Nov 7, 2025
b0c3e12
make it the same as old streamer
mpkarpov-ui Nov 7, 2025
ec11636
add fsm ability!
mpkarpov-ui Nov 7, 2025
1838012
lolol
mpkarpov-ui Apr 27, 2026
ca9780a
BIG IMPORTANT STUFF DO NOT LOSE
mpkarpov-ui May 12, 2026
4d08dc5
stuff
mpkarpov-ui May 15, 2026
ebe5d24
asdf
mpkarpov-ui May 15, 2026
8a7cdfd
aewipoawoienfo
mpkarpov-ui May 15, 2026
4e8939d
add comment for main() call
mpkarpov-ui May 15, 2026
63cff0a
Merge pull request #173 from ISSUIUC/feature/new-kamaji
mpkarpov-ui May 15, 2026
4f2efba
fixed everything (pyro delay and hitl voltage)
tjmcmanamen38 May 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
116 changes: 116 additions & 0 deletions .github/workflows/fsm_test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
name: CI -- FSM SILSIM Tests

on:
push:
branches:
- '**'
paths:
- 'MIDAS/src/finite-state-machines/**'
- 'MIDAS/test/fsm_test/**'
- 'MIDAS/src/rocket_state.h'
- 'MIDAS/src/command_flags.h'
pull_request:
paths:
- 'MIDAS/src/finite-state-machines/**'
- 'MIDAS/test/fsm_test/**'
- 'MIDAS/src/rocket_state.h'
- 'MIDAS/src/command_flags.h'
workflow_dispatch:

jobs:
fsm_test:
name: FSM SILSIM Tests
runs-on: ubuntu-latest
defaults:
run:
working-directory: MIDAS
steps:
- uses: actions/checkout@v3

- name: Cache pip
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
restore-keys: ${{ runner.os }}-pip-

- name: Cache PlatformIO
uses: actions/cache@v3
with:
path: ~/.platformio
key: ${{ runner.os }}-pio-${{ hashFiles('**/platformio.ini') }}
restore-keys: ${{ runner.os }}-pio-

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.11'

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install --upgrade platformio pandas matplotlib

- name: Build FSM simulator
run: pio run -e fsm_sim

- name: Run tests
id: tests
run: |
mkdir -p test/fsm_test/plots
PASS=0
FAIL=0
FAILED=""

for tc in test/fsm_test/test_cases/*.json; do
name=$(basename "$tc" .json)
echo "::group::Test: $name"

if python test/fsm_test/tester/run_test.py "$tc" \
--save-plot "test/fsm_test/plots/${name}.png"; then
PASS=$((PASS + 1))
else
FAIL=$((FAIL + 1))
FAILED="${FAILED}${name}, "
fi
echo "::endgroup::"
done

TOTAL=$((PASS + FAIL))
if [ $FAIL -eq 0 ]; then
SUMMARY="checkmark"
else
SUMMARY="failed: ${FAILED%, }"
fi
echo "pass=$PASS" >> "$GITHUB_OUTPUT"
echo "total=$TOTAL" >> "$GITHUB_OUTPUT"
echo "summary=$SUMMARY" >> "$GITHUB_OUTPUT"

[ $FAIL -eq 0 ]

- name: Upload plots
if: always()
uses: actions/upload-artifact@v4
with:
name: fsm-silsim-plots
path: MIDAS/test/fsm_test/plots/*.png

- name: Find existing comment
if: always() && github.event_name == 'pull_request'
uses: peter-evans/find-comment@v3
id: find-comment
with:
issue-number: ${{ github.event.pull_request.number }}
comment-author: 'github-actions[bot]'
body-includes: '<!-- fsm-silsim-results -->'

- name: Comment on PR
if: always() && github.event_name == 'pull_request'
uses: peter-evans/create-or-update-comment@v4
with:
comment-id: ${{ steps.find-comment.outputs.comment-id }}
issue-number: ${{ github.event.pull_request.number }}
edit-mode: replace
body: |
<!-- fsm-silsim-results -->
**FSM SILSIM:** ${{ steps.tests.outputs.pass }}/${{ steps.tests.outputs.total }} passed ${{ steps.tests.outputs.summary == 'checkmark' && '&#10003;' || format('({0})', steps.tests.outputs.summary) }} — [plots](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})
108 changes: 108 additions & 0 deletions .github/workflows/kamaji_ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
name: Kamaji -- Build HITL Base

on:
push:
branches:
- '**' # Run it on all branches
workflow_dispatch:

jobs:
build_streamer:
name: Build MIDAS:native_hilsim_streamer
runs-on: ubuntu-latest
defaults:
run:
working-directory: MIDAS
steps:
- uses: actions/checkout@v3
- name: Cache pip
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
- name: Cache PlatformIO
uses: actions/cache@v3
with:
path: ~/.platformio
key: ${{ runner.os }}-pio-${{ hashFiles('**/platformio.ini') }}
restore-keys: |
${{ runner.os }}-pio-
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Install PlatformIO
run: |
python -m pip install --upgrade pip
pip install --upgrade platformio
- name: PlatformIO version
run: pio --version
- name: Build native_hilsim_streamer
run: pio run -e native_hilsim_streamer
- name: Upload Artifact for native_hilsim_streamer
uses: actions/upload-artifact@v4
with:
name: executable-native_hilsim_streamer
path: MIDAS/.pio/build/native_hilsim_streamer/program


build_fw:
name: Build MIDAS:mcu_hilsim
runs-on: ubuntu-latest
defaults:
run:
working-directory: MIDAS
steps:
- uses: actions/checkout@v3
- name: Cache pip
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
- name: Cache PlatformIO
uses: actions/cache@v3
with:
path: ~/.platformio
key: ${{ runner.os }}-pio-${{ hashFiles('**/platformio.ini') }}
restore-keys: |
${{ runner.os }}-pio-
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Install PlatformIO
run: |
python -m pip install --upgrade pip
pip install --upgrade platformio
- name: PlatformIO version
run: pio --version
- name: Build mcu_hilsim
run: pio run -e mcu_hilsim
- name: Upload Artifact for mcu_hilsim
uses: actions/upload-artifact@v4
with:
name: firmware-mcu_hilsim
path: MIDAS/.pio/build/mcu_hilsim/firmware*.*


notify:
name: Slack Notification (main)
needs: [build_streamer, build_fw]
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/main'
steps:
- name: Send Slack Summary
uses: rtCamp/action-slack-notify@v2
env:
SLACK_COLOR: ${{ (needs.build_fw.result == 'success') && 'good' || 'danger' }}
SLACK_TITLE: "Kamaji Firmware Build"
SLACK_MESSAGE: |
Build results:
- *MIDAS:mcu_hilsim*: ${{ needs.build_fw.result }}

:information_source: CI Notifications only run on the `main` branch.
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
61 changes: 10 additions & 51 deletions .github/workflows/platformio_ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ on:
workflow_dispatch:

jobs:
build_sustainer:
name: Build MIDAS:mcu_main_sustainer
build_fsw:
name: Build MIDAS:mcu_main
runs-on: ubuntu-latest
defaults:
run:
Expand Down Expand Up @@ -39,53 +39,13 @@ jobs:
pip install --upgrade platformio
- name: PlatformIO version
run: pio --version
- name: Build mcu_main_sustainer
run: pio run -e mcu_main_sustainer
- name: Upload Artifact for mcu_main_sustainer
- name: Build mcu_main
run: pio run -e mcu_main
- name: Upload Artifact for mcu_main
uses: actions/upload-artifact@v4
with:
name: firmware-mcu_main_sustainer
path: MIDAS/.pio/build/mcu_main_sustainer/firmware*.*

build_booster:
name: Build MIDAS:mcu_main_booster
runs-on: ubuntu-latest
defaults:
run:
working-directory: MIDAS
steps:
- uses: actions/checkout@v3
- name: Cache pip
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
- name: Cache PlatformIO
uses: actions/cache@v3
with:
path: ~/.platformio
key: ${{ runner.os }}-pio-${{ hashFiles('**/platformio.ini') }}
restore-keys: |
${{ runner.os }}-pio-
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Install PlatformIO
run: |
python -m pip install --upgrade pip
pip install --upgrade platformio
- name: PlatformIO version
run: pio --version
- name: Build mcu_main_booster
run: pio run -e mcu_main_booster
- name: Upload Artifact for mcu_main_booster
uses: actions/upload-artifact@v4
with:
name: firmware-mcu_main_booster
path: MIDAS/.pio/build/mcu_main_booster/firmware*.*
name: firmware-mcu_main
path: MIDAS/.pio/build/mcu_main/firmware*.*

build_feather_duo:
name: Build ground:feather_duo
Expand Down Expand Up @@ -169,19 +129,18 @@ jobs:

notify:
name: Slack Notification Summary (main)
needs: [build_sustainer, build_booster, build_feather_duo, build_cam]
needs: [build_fsw, build_feather_duo, build_cam]
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/main'
steps:
- name: Send Slack Summary
uses: rtCamp/action-slack-notify@v2
env:
SLACK_COLOR: ${{ (needs.build_sustainer.result == 'success' && needs.build_booster.result == 'success' && needs.build_feather_duo.result == 'success' && needs.build_cam.result == 'success') && 'good' || 'danger' }}
SLACK_COLOR: ${{ (needs.build_fsw.result == 'success' && needs.build_feather_duo.result == 'success' && needs.build_cam.result == 'success') && 'good' || 'danger' }}
SLACK_TITLE: "Firmware Build Summary"
SLACK_MESSAGE: |
Build results:
- *MIDAS:mcu_main_sustainer*: ${{ needs.build_sustainer.result }}
- *MIDAS:mcu_main_booster*: ${{ needs.build_booster.result }}
- *MIDAS:mcu_main*: ${{ needs.build_fsw.result }}
- *ground:feather_duo*: ${{ needs.build_feather_duo.result }}
- *CamBoard:CamBoard*: ${{ needs.build_cam.result }}

Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@
.vscode/
outputs/*
ground/outputs/*
buzzer/midi-files/*
5 changes: 4 additions & 1 deletion MIDAS/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
.vscode
/src/log_checksum.h
/src/esp_eeprom_checksum.h
/src/log_format_AUTOGEN.h
**/.DS_Store
*.launch
*.pyc
*.bin
*.pyc
/test/fsm_test/output/*
Loading
Loading