Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
241 commits
Select commit Hold shift + click to select a range
6998b3c
Update main to currently used software (#37)
gabekole Oct 16, 2024
b8d5aa1
Merge branch 'dev'
jackbogatz Oct 17, 2025
cdc6e23
Added liquid propulsion pin constants and valve angles
benjaminrdeutsch Dec 10, 2025
5419819
Added liquid propulsion hardware class headers
benjaminrdeutsch Dec 10, 2025
334f6f2
Implemented ValveControl for servo and solenoid management
benjaminrdeutsch Dec 10, 2025
3f5a97f
Implemented SparkPlug for ignition control
benjaminrdeutsch Dec 10, 2025
69e8df5
Implemented PressureTransducer for PT sensor reading
benjaminrdeutsch Dec 10, 2025
c751933
Implemented LoadCell for thrust measurement
benjaminrdeutsch Dec 10, 2025
f9c99e8
Extended RF commands for liquid propulsion operations
benjaminrdeutsch Dec 10, 2025
71f52ee
Added HotfireIdle, ASITest, and WaterFlow states
benjaminrdeutsch Dec 10, 2025
8d33db1
Implemented liquid propulsion state handlers and sequences
benjaminrdeutsch Dec 10, 2025
7c6ea42
Added liquid propulsion telemetry method declaration
benjaminrdeutsch Dec 10, 2025
c533f15
Implemented liquid propulsion sensor data telemetry
benjaminrdeutsch Dec 10, 2025
6e704c2
Initialized liquid propulsion hardware and GPIO pins
benjaminrdeutsch Dec 10, 2025
244fb65
Wrote and iterated extensive documentation of nearly every aspect of …
benjaminrdeutsch Dec 10, 2025
8647f7e
Created smaller documentation file expressly for operators rather tha…
benjaminrdeutsch Dec 10, 2025
790d571
Added a changelog file that briefly covers any/all changes made to th…
benjaminrdeutsch Dec 10, 2025
a1229dd
Updated README with new section mentioning the inclusion of liquid pr…
benjaminrdeutsch Dec 10, 2025
9008306
Added assert-based sanity tests using /hardware_test
TotallyTaku Dec 13, 2025
621d13a
Got rid of some redundancy, made new liquid class objects be regular …
jackbogatz Jan 27, 2026
328ce44
Moved telemtry statements of opening and closing valves to ValveContr…
jackbogatz Jan 27, 2026
4606b41
Forgot to add Telemetry includes
jackbogatz Jan 27, 2026
673082a
Kalman Filter Added
Hlpred Jan 27, 2026
b551677
Kalman Filter Progress
Jan 28, 2026
b931097
Kalman Filter Running
Feb 6, 2026
42c005d
Vertical Guidance Started
Feb 7, 2026
e32e379
Vertical Guidance in Progress
Feb 13, 2026
1a77a5b
Height Control Test
Feb 13, 2026
f1a3dff
Pad Updates
Mar 4, 2026
77d3a6f
Fixed Navigation Bug
Mar 4, 2026
f42a688
Placeholder Hardware Files
Mar 4, 2026
089958d
More placeholders
Mar 4, 2026
3ec274a
Removed Barometer
Mar 4, 2026
a23289c
Started to add new hardware
jackbogatz Mar 6, 2026
9559304
IMU works
jackbogatz Mar 6, 2026
14b2365
Added magneometer and want to add feature to switch between terminal …
jackbogatz Mar 7, 2026
c58d142
Yml file change test
jackbogatz Mar 9, 2026
e10d051
Yml file change test
jackbogatz Mar 9, 2026
171e7ab
Yml file change test
jackbogatz Mar 9, 2026
07ac228
Yml file change test
jackbogatz Mar 9, 2026
c57eff0
All modes should compile now
jackbogatz Mar 12, 2026
c55c737
Merge branch 'feature-AddNewHardware' of https://github.com/UConn-Roc…
jackbogatz Mar 12, 2026
d5a2792
Needed cstdint
jackbogatz Mar 12, 2026
55b279c
This is it
jackbogatz Mar 12, 2026
506f16f
Added check in RF Hardware so if it doesn't detect Serial port, we sw…
jackbogatz Mar 12, 2026
fe17554
Started adding GPS methods
jackbogatz Mar 13, 2026
84327b9
Gps done
jackbogatz Mar 13, 2026
72406d0
Chnages
jackbogatz Mar 14, 2026
5d3bb8e
More GPS testing
jackbogatz Mar 18, 2026
6fb16e6
Used shell script script instead
jackbogatz Mar 18, 2026
fdb7f7c
Mass Estimation
Hlpred Mar 20, 2026
b8dc932
Got rid of write settings cause we are gonna use bash script instead
jackbogatz Mar 22, 2026
f10e75a
Updated gps bash script
jackbogatz Mar 22, 2026
320ba2b
Updated GPS and Camera Updates
Hlpred Mar 29, 2026
661ac41
All Sensor Updates Working
Mar 29, 2026
b4c879e
Removed Sensor Available Vector
Mar 29, 2026
e0c9919
Moved Constants
Mar 29, 2026
85f87f1
Made sure we cleared the message variable every time there is a newli…
jackbogatz Apr 1, 2026
be7e025
Camera Started
Apr 3, 2026
281c925
Boolean flag
jackbogatz Apr 4, 2026
7f76590
gps script update
jackbogatz Apr 4, 2026
9305d5c
Merge Complete
Apr 4, 2026
c4058f6
Removed duplicates
Apr 4, 2026
dfa280f
Fixed GPS vel bug
Apr 4, 2026
d3827dd
GPS hardware allows no GPS
Apr 4, 2026
96c6a87
multi-byte read
Apr 4, 2026
39a40ad
Changed init attitude uncertianty
Apr 4, 2026
dfc1893
fix
jackbogatz Apr 5, 2026
2266f07
Turned off other sensors for testing
Apr 5, 2026
3ecce6e
Saved Changes
Apr 5, 2026
56237d7
No nav state reset
Apr 5, 2026
354a4b6
Pad updates on
Apr 5, 2026
ae579b4
Tuned Nav Parameters
Apr 5, 2026
ee9f16f
Fixed Omega Bias
Apr 5, 2026
6f1b525
Testing
jackbogatz Apr 5, 2026
e948438
Camera Branch Merge
Apr 5, 2026
2927ad4
Remove build_sim
Apr 5, 2026
eec6651
Used pythonscript to get fix
jackbogatz Apr 5, 2026
d9364d2
Just Hungarian Algo
Apr 5, 2026
991488a
Typos
Apr 5, 2026
5e67ab5
Video Feed
Apr 5, 2026
da9f284
Frame Logger
Apr 5, 2026
728587e
File path patch
Apr 6, 2026
e9ff69d
Camera ID Patch
Apr 6, 2026
0a530e7
Edited Paths
Apr 6, 2026
d7c260e
Camera Port Variable
Apr 6, 2026
b7346ef
Print Statements
Apr 6, 2026
be9c0a7
Video warmup
Apr 6, 2026
70fc159
Resolution Test
Apr 6, 2026
a353f61
Backend Test
Apr 6, 2026
1f6b518
Turned off default
Apr 6, 2026
3f639c8
Try different nodes
Apr 6, 2026
758beb9
Only check valid nodes
Apr 6, 2026
90711b9
GStreamer Test
Apr 6, 2026
d08a14d
UDP video stream
Apr 6, 2026
c2a1682
Maybe?
Apr 6, 2026
c7fa69d
Different Pipeline
Apr 6, 2026
05d2bc4
No inline flag
Apr 6, 2026
1c89078
Remove UDP
Apr 6, 2026
5dcba2c
raw output
Apr 6, 2026
6b1884e
camera name mismatch
Apr 6, 2026
30be7e1
Timing Test
Apr 6, 2026
aad7c46
Bounding Boxes
Apr 6, 2026
1a3ce4c
Integrated Harrison's changes
jackbogatz Apr 7, 2026
7867103
Added debug flag for gps
jackbogatz Apr 7, 2026
fbbe2a8
Added liquids code
jackbogatz Apr 7, 2026
530fa66
Chould of made sure it built smh
jackbogatz Apr 7, 2026
9df8635
Camera Calibration
Apr 8, 2026
d9dc1fb
Frame rate option
Apr 8, 2026
212b7d4
Remove frame rate query
Apr 8, 2026
4059a19
test
Apr 8, 2026
6f72d8b
Remove Frame Rate
Apr 8, 2026
545f84a
More timing outputs
Apr 8, 2026
ee48cd8
resolution warning
Apr 8, 2026
6f7099a
Attempted to finish hardware
jackbogatz Apr 9, 2026
d8ca659
Fixed - to = in MissionConstants
jackbogatz Apr 10, 2026
45d0bdb
;
jackbogatz Apr 10, 2026
e645224
Testing
jackbogatz Apr 10, 2026
ad84b09
Adding warning messages and got release to build
jackbogatz Apr 10, 2026
b73d672
attempt rf fix
jackbogatz Apr 10, 2026
edd29d2
fixMerge branch 'feature-AddNewHardware' of https://github.com/UConn-…
jackbogatz Apr 10, 2026
7615469
Added newlines to all messages to RF
jackbogatz Apr 11, 2026
85dfbab
added new line
jackbogatz Apr 11, 2026
c6af99c
Added GPS logging
Apr 11, 2026
8a2b40a
New GPS log File
Apr 11, 2026
545fce2
Time in Delta s
Apr 11, 2026
c554a59
Ignore GPGSA Sentences
Apr 11, 2026
5d69cb9
Sub-second logging
Apr 11, 2026
c2abe6e
Undid that
Apr 11, 2026
740723c
Seperate position and velocity updates
Apr 11, 2026
ff5e9e3
Removed GPS Offset
Apr 12, 2026
ba29479
Cleaned up constants
Apr 12, 2026
fe38b66
Bug
Apr 12, 2026
3a6c30a
Ready for camera test
Apr 12, 2026
f95c89b
Matched Pairs Print Statement
Apr 12, 2026
f9bcd53
More print statements
Apr 12, 2026
dcd5289
Marker Matching Visualization
Apr 12, 2026
2fb40d6
Expected vs Observed Markers
Apr 12, 2026
ce0aeee
Fixed Marker Locations
Apr 12, 2026
c79d158
Fixed Constnats
Apr 12, 2026
d9dd0d8
Added newline to all sendstring commands
jackbogatz Apr 13, 2026
6ec69e9
Merge conflict
jackbogatz Apr 13, 2026
c78f9e0
Combined telem payloads
jackbogatz Apr 13, 2026
dbce74b
Made it so we write until everything is sent
jackbogatz Apr 13, 2026
3c646db
RF WORKS!
jackbogatz Apr 14, 2026
ed0f1fc
Merged Harrison's new nav code
jackbogatz Apr 15, 2026
2d28a12
Actuator Control Started
Apr 16, 2026
ff8f471
Added Logging; Fixed Actuator Bug
Hlpred Apr 17, 2026
ffb68a2
Added pca setup
Hlpred Apr 17, 2026
119e1ec
Test
Hlpred Apr 17, 2026
05260ab
Updated Constants
Hlpred Apr 17, 2026
48c269b
Updated min and max
Hlpred Apr 17, 2026
9f8fcdc
Print Statements
Hlpred Apr 17, 2026
23fe40a
One Actuator, no sines
Hlpred Apr 18, 2026
67b5bf4
Attempted to add sensor flags
jackbogatz Apr 21, 2026
2ef31d9
Fixing build issues one error at a time
jackbogatz Apr 21, 2026
9432dd2
Got it to build
jackbogatz Apr 21, 2026
04f2f7a
Now should build
jackbogatz Apr 21, 2026
58d5752
Changes didnt save
jackbogatz Apr 21, 2026
cb6d6dc
Updated Actuator Modes and TVC Controller
Apr 21, 2026
3ce2407
Merged new tvc code
jackbogatz Apr 21, 2026
de98c62
Refactored Mode so that we only call Getcommand once
jackbogatz Apr 21, 2026
3db0964
Spelling mistake
jackbogatz Apr 21, 2026
74cb6e8
I'm dyslexic
jackbogatz Apr 21, 2026
1565630
hkj
jackbogatz Apr 21, 2026
69fa528
In god we trust
jackbogatz Apr 22, 2026
2ace169
Added more todos and notes
jackbogatz Apr 22, 2026
9bfd2c5
:.
jackbogatz Apr 22, 2026
9bf6828
s
jackbogatz Apr 22, 2026
9937b19
Added some RF stuff
jackbogatz Apr 22, 2026
7f83527
Removed uncessary rf commands and polished startup script but more im…
jackbogatz Apr 22, 2026
fb5aa6e
oopsMerge branch 'feature-AddNewHardware' of https://github.com/UConn…
jackbogatz Apr 22, 2026
881f5f5
Ground Control Linked
Apr 23, 2026
6e8d098
Forgot to incorparate Magnometer and got rid of gps found boolean var…
jackbogatz Apr 23, 2026
7d76448
Forgot to incorparate Magnometer and got rid of gps found boolean var…
jackbogatz Apr 23, 2026
67d294d
Merged harrisosn work
jackbogatz Apr 23, 2026
c8657be
Added hotfire sequence and fixed bug where we would repeat steps
jackbogatz Apr 24, 2026
088838f
Started to document
jackbogatz Apr 24, 2026
ff0e8ba
Configring rf serial settings in code
jackbogatz Apr 24, 2026
001923b
Added Nitpurs Fill valve
jackbogatz Apr 24, 2026
f88c79e
Ready for Actuator Test
Hlpred Apr 24, 2026
78e313a
Updated Constnats
Hlpred Apr 24, 2026
bc94e15
Changed Ports
Hlpred Apr 24, 2026
95dc39c
Removed Stop Commands
Hlpred Apr 24, 2026
f3b570d
Fixed Error
Hlpred Apr 24, 2026
585795e
prints
Hlpred Apr 24, 2026
bf99d60
Print Statement
Hlpred Apr 24, 2026
fdea4f7
Gain Up
Hlpred Apr 25, 2026
29f0ed3
Other Actuator
Hlpred Apr 25, 2026
b5b709a
changed index
Hlpred Apr 25, 2026
bdc06e6
Faster TestTVC
Hlpred Apr 25, 2026
6225377
Log
jackbogatz Apr 26, 2026
d3e2f5f
Removed Logging; Added IMU Rot
Hlpred Apr 26, 2026
d78defe
My bad
Hlpred Apr 26, 2026
ee0d4c3
Updated Ports
Hlpred Apr 26, 2026
3eccd25
New prints
Hlpred Apr 26, 2026
167b1eb
Rounded Values
Hlpred Apr 26, 2026
c2dcfb3
Test
Hlpred Apr 26, 2026
36bbdfd
New Constants
Hlpred Apr 26, 2026
c09e4c2
Q flip
Hlpred Apr 26, 2026
ecc5ab1
Fixed Quaternion
Hlpred Apr 26, 2026
4164fab
Order Test
Hlpred Apr 26, 2026
351dac8
Euler Diff Test
Hlpred Apr 26, 2026
ea52e5a
Rotation Vector
Hlpred Apr 26, 2026
15b03c6
Added Nitrous Tank Line
jackbogatz Apr 26, 2026
b9171c3
Correct liquid pins Merge branch 'changes' into feature-AddNewHardware
jackbogatz Apr 26, 2026
b9a8758
Hard Reset
Hlpred Apr 26, 2026
a05dbfc
Updated Header
Hlpred Apr 26, 2026
437efca
Updated Camera Constants
Apr 27, 2026
a0f0856
harriosn changesMerge branch 'feature-AddNewHardware' of https://gith…
jackbogatz Apr 27, 2026
20cecbe
Added liquid mode changes
jackbogatz Apr 27, 2026
d0db088
Added Actuator: prefix to drive Actuator to filter it out of ground c…
jackbogatz Apr 27, 2026
7243d27
Made some more progress with hardware ReadMes and changed pin numbers…
jackbogatz Apr 30, 2026
6d90406
Added abort conditions
jackbogatz May 1, 2026
c7cd2f4
Redefine error
jackbogatz May 1, 2026
9971a29
Modified 3 second hotfire
jackbogatz May 1, 2026
060379b
Abort Stop
Hlpred May 2, 2026
6671da7
some changes
jackbogatz May 2, 2026
09dbc49
Standby
jackbogatz May 2, 2026
4a2f8d4
Renamed Commands
Hlpred May 2, 2026
5255303
Updated Modes
Hlpred May 2, 2026
5a8bcfc
Changed to Hot Fire Circle
Hlpred May 2, 2026
4d5f8af
plz work
Hlpred May 2, 2026
890c940
Valve sequence
jackbogatz May 3, 2026
8875106
Added Liquid log
jackbogatz May 3, 2026
905902a
Worked more on readmes
jackbogatz May 6, 2026
3e4f953
Using set_all_pwm() in startup behavior instead of individually closi…
jackbogatz May 6, 2026
e3858a1
3second test with tvc with after engine
jackbogatz May 6, 2026
5bd8005
3second test with tvc with after engine
jackbogatz May 6, 2026
000744c
9
jackbogatz May 6, 2026
c5026af
Mpre documentation
jackbogatz May 7, 2026
4ef8a7b
Merge pull request #51 from UConn-Rocketry/3secondTest
jackbogatz May 7, 2026
51e20d9
More documentaton
jackbogatz May 7, 2026
5deab12
More documentation
jackbogatz May 8, 2026
9f75320
More documentation
jackbogatz May 8, 2026
360249f
More documentation
jackbogatz May 8, 2026
e7fd184
More documentation
jackbogatz May 8, 2026
d029bad
More documentation
jackbogatz May 9, 2026
f4521e6
More documentation
jackbogatz May 9, 2026
d61bbaf
More documentation
jackbogatz May 9, 2026
3691907
Got rid of unused constants
jackbogatz May 9, 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
34 changes: 23 additions & 11 deletions .github/workflows/testing_workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,29 @@ jobs:
- name: Install dependencies
run: |
sudo apt update
sudo apt install -y libgtest-dev libeigen3-dev cmake
sudo apt install -y libgtest-dev libeigen3-dev libi2c-dev cmake
sudo apt install -y libopencv-dev

- name: Install WiringPi from source
run: |
sudo apt update
sudo apt install -y build-essential unzip
wget https://github.com/WiringPi/WiringPi/archive/master.zip
unzip master.zip
rm master.zip
cd WiringPi-master/wiringPi
make
sudo make install

- name: Install PCA9685 from source
run: |
sudo apt update
sudo apt install -y build-essential unzip
wget https://github.com/barulicm/PiPCA9685/archive/master.zip
unzip master.zip
cd PiPCA9685-main
xargs -a apt_dependencies.txt sudo apt-get install -y
sudo cmake --workflow --preset install

- name: Build Debug Mode
run: |
Expand All @@ -26,16 +48,6 @@ jobs:
run: |
timeout 10s ./build-debug/Ferda < /dev/null || echo "Exited after timeout"

- name: Install pigpio from source
run: |
sudo apt update
sudo apt install -y build-essential unzip
wget https://github.com/joan2937/pigpio/archive/master.zip
unzip master.zip
cd pigpio-master
make
sudo make install

- name: Build Release Mode
run: |
cmake -DCMAKE_BUILD_TYPE=Release -B build-release .
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
/build
/.vscode
/logs
/vcpkg

21 changes: 0 additions & 21 deletions Aggressive_Land.csv

This file was deleted.

21 changes: 0 additions & 21 deletions Aggressive_Launch.csv

This file was deleted.

2 changes: 2 additions & 0 deletions Angles.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
0.774597,-0,2.124781,-0,2.397824,-0
0,0.774597,0,2.124781,0,2.397824
3 changes: 3 additions & 0 deletions Brewfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
brew "eigen"
brew "cmake"
brew "python"
32 changes: 30 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,28 @@ endif()
FILE(GLOB CppSources src/*.cpp)

find_package(Eigen3 REQUIRED NO_MODULE)
find_package(OpenCV QUIET)

if(OpenCV_FOUND)
message(STATUS "OpenCV found. Camera features enabled.")
else()
message(WARNING "OpenCV not found. Building without hardware camera support and skipping CameraCalibrate.")
endif()

if(NOT OpenCV_FOUND AND NOT (CMAKE_BUILD_TYPE STREQUAL Debug) AND NOT (CMAKE_BUILD_TYPE STREQUAL Simulation))
list(REMOVE_ITEM EXTRA_CODE "${CMAKE_CURRENT_SOURCE_DIR}/hardware/Camera.cpp")
list(APPEND EXTRA_CODE "${CMAKE_CURRENT_SOURCE_DIR}/hardware_test/Camera.cpp")
endif()

add_executable(Ferda ${CppSources} ${EXTRA_CODE})

target_include_directories(Ferda PRIVATE include)

if(OpenCV_FOUND)
add_executable(CameraCalibrate tools/CameraCalibrate.cpp)
target_include_directories(CameraCalibrate PRIVATE include ${OpenCV_INCLUDE_DIRS})
endif()

if(MSVC)
target_compile_options(Ferda PRIVATE /W4 /WX)
else()
Expand All @@ -49,10 +66,21 @@ elseif(CMAKE_BUILD_TYPE STREQUAL Simulation)
SIM_SERVER_IP="${SIM_SERVER_IP}"
)
else()
target_link_libraries(Ferda Eigen3::Eigen pigpio nlohmann_json::nlohmann_json)
target_link_libraries(Ferda Eigen3::Eigen wiringPi PiPCA9685 i2c nlohmann_json::nlohmann_json)
if(OpenCV_FOUND)
target_include_directories(Ferda PRIVATE ${OpenCV_INCLUDE_DIRS})
target_link_libraries(Ferda ${OpenCV_LIBS})
endif()
endif()

if(OpenCV_FOUND)
target_link_libraries(CameraCalibrate PRIVATE Eigen3::Eigen nlohmann_json::nlohmann_json ${OpenCV_LIBS})
endif()


# Add threading library
find_package(Threads REQUIRED)
target_link_libraries(Ferda Threads::Threads)
target_link_libraries(Ferda Threads::Threads)
if(OpenCV_FOUND)
target_link_libraries(CameraCalibrate PRIVATE Threads::Threads)
endif()
Binary file added DatasheetsAndRPInfo/BNO055.pdf
Binary file not shown.
Binary file added DatasheetsAndRPInfo/CD+PA1616S+Datasheet.v03.pdf
Binary file not shown.
Binary file added DatasheetsAndRPInfo/PCA9685.pdf
Binary file not shown.
Binary file added DatasheetsAndRPInfo/PMTK_A11.pdf
Binary file not shown.
Binary file not shown.
Binary file added DatasheetsAndRPInfo/ads1115.pdf
Binary file not shown.
1 change: 1 addition & 0 deletions Height.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
5.477226,7.411523,4.101591
21 changes: 0 additions & 21 deletions Lazy_Land.csv

This file was deleted.

21 changes: 0 additions & 21 deletions Lazy_Launch.csv

This file was deleted.

Binary file added ModeFlowDiagram.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
21 changes: 0 additions & 21 deletions Normal_Land.csv

This file was deleted.

21 changes: 0 additions & 21 deletions Normal_Launch.csv

This file was deleted.

Loading
Loading