Skip to content

Commit 207a6eb

Browse files
sendhil2gautamdayalrbhogKabirDCheemaary-dz
authored
Silsim integration (#81)
* Fixed Q matrix error * Add BNO wrapper class * Refactor IMU class * some ekf implementation body2world + more * Q set * Orientation Sensor Thread Genesis * Rename thread and readData * Created build environment for telemetry board * Commented build env * testing * æ * Struct Revision * Orientation Data Queue and FIFO * Comment for windows people * Fixed rk4, Code Compiles Now * added error codes added handleError * new branch * Implement OrientationSensor * added rotational KF * added datalog for rotational EKF * Reset KF state at launch detect * Remove flight folder * Update Q and F matrices * Initialize rotational kf state * Reset rotational state at launch detect * init * add sensor testing branch * asdf * asdf * halp * changed the sensors testing code (in sensors file) * holp * Added TARS mk4 pins * hey it works * threads are undead * added gpssensor * something * progress * progress * more stuff * more stuff * ... * All threads/sensors work, except voltage. also tlm, but that's because tlm doesn't exist. * buzzer merged. merging threads in progress * merged merged * improved gas sensor * gps fixed; voltage updated * telem packet update * update ground feather * good luck * ground feather done * update bno fields * fix missing data * fixed voltage, fixed logging * telemetry update * Fixed GPS bug * more bits for temp * error codes fixed * More ENABLE_'s, verify all threads work * thread starting is visible now * integrated FSM changes and attemped orientation fix * Added startup buzzer sequence * Changed flap init sequence * Flush with airframe not needed * Comments * Servo control max and min nicer now, changed log file extension * Removed fsm-related prints and added some code you an uncomment to test flaps better * fix * Fixed orientation issue * Fixed orientation issue * Put the buzzer init in a more sensible place * smol change * New serial monitor script * Changed extension limits and added some comments * Fixed I2C init issue * e * Remove magic numbers * Added mario sequence * family ties * Fixed angle extension * added docstrings to sensors * fixed voltagesensor comment * god save the queen * probably fixed KF * probably fixed KF -rm print * fix stall in launch detect * telemetry sends full kalman state * Updated ground software * Spongebob faster * flaps will now actuate * Change kP for flaps * Change apogee * Change apogee * LED flash on packet receive success * Fixed it * Started new branch for HILSIM * Made things to build off of * Fixes, defined and started HILSIM thread * More stuff * Update sensors with hilsim packet * Added python script * Changes * Print * Change * python script * MVP Done * stuff ig * granularity and speed factors * please free me from this torture * Remove old params from kalman filter reset state * Fix constants and matrices * Move constants and update constructor for ServoControl * checked/commented GNC code * it works kinda * fixes * unix threading * stack protection * added sd logging * added githup actions for silsim * added silsim check on push * i wish we got to use cargo * cd tars folder * fix fiber * fix other * y * y * fiber * added slack file upload * added slack file upload 2 * added slack file upload 3 * added slack file upload 4 * added file upload hehe * whoopsie * commented out until boss can fix token * test if file can upload * fixed bot key * no file upload till bot fixed :( * no file upload till bot fixed :( * working now? * working now? * fixed random broken compilation things * Merges and fixes * Changes and Fixes to clang-format * updated SILSIM * changed rk4.h * fixed silsim maybe * fixed silsim maybe but again this time * fixed silsim maybe but again this time but again this time * free me * idk maybe man * We left purgatory * maybe fix clang-format CI * maybe fix clang-format CI * David Howard --------- Co-authored-by: Gautam Dayal <gautam.dayal@yahoo.com> Co-authored-by: Rithvik <rbhogavilli@gmail.com> Co-authored-by: KabirDCheema <93631807+KabirDCheema@users.noreply.github.com> Co-authored-by: Aryaman Dwivedi <aryaman.dwivedi@hotmail.com> Co-authored-by: colinpk2 <77900054+colinpk2@users.noreply.github.com> Co-authored-by: Caleb Peach <calebrp2@illinois.edu> Co-authored-by: Nicholas Phillips <nwp2@illinois.edu> Co-authored-by: Aidan Costello <aidan5@illinois.edu> Co-authored-by: Zerender <davideh3@illinois.edu> Co-authored-by: redindelible <redindelible@gmail.com>
1 parent 7d03777 commit 207a6eb

File tree

579 files changed

+133787
-45435
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

579 files changed

+133787
-45435
lines changed

.clang-format

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ Language: Cpp
33
# BasedOnStyle: Google
44
AccessModifierOffset: -1
55
AlignAfterOpenBracket: Align
6-
AlignConsecutiveMacros: false
7-
AlignConsecutiveAssignments: false
8-
AlignConsecutiveDeclarations: false
6+
AlignConsecutiveMacros: None
7+
AlignConsecutiveAssignments: None
8+
AlignConsecutiveDeclarations: None
99
AlignEscapedNewlines: Left
1010
AlignOperands: true
1111
AlignTrailingComments: true
@@ -27,7 +27,7 @@ BinPackParameters: true
2727
BraceWrapping:
2828
AfterCaseLabel: false
2929
AfterClass: false
30-
AfterControlStatement: false
30+
AfterControlStatement: Never
3131
AfterEnum: false
3232
AfterFunction: false
3333
AfterNamespace: false
@@ -136,7 +136,7 @@ RawStringFormats:
136136
CanonicalDelimiter: ''
137137
BasedOnStyle: google
138138
ReflowComments: true
139-
SortIncludes: true
139+
SortIncludes: Never
140140
SortUsingDeclarations: true
141141
SpaceAfterCStyleCast: false
142142
SpaceAfterLogicalNot: false

.clang-format-ignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,4 @@
11
TARS/lib/*
2+
TARS/purgatory/*
3+
TARS/.pio/*
4+
TARS/src/mcu_main/ISS_SILSIM/*

.github/workflows/clang_format_check.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@ jobs:
77
strategy:
88
matrix:
99
path:
10-
- check: 'flight'
11-
exclude: '(ChRt|SparkFunLSM9DS1|eigen-3.4.0|EigenArduino-Eigen30|MS5611|RH|RadioHead|SparkFun_KX13X_Arduino_Library-1.0.7|SparkFun_u-blox_GNSS_Arduino_Library-main)' # Exclude files containing these words
10+
- check: 'TARS/src'
11+
exclude: '(ChRt|SparkFunLSM9DS1|Eigen|MS5611|RH|RadioHead|SparkFun_KX13X_Arduino_Library-1.0.7|SparkFun_u-blox_GNSS_Arduino_Library-main)' # Exclude files containing these words
1212
steps:
1313
- uses: actions/checkout@v2
1414
- name: Run clang-format style check for C/C++ programs.
15-
uses: jidicula/clang-format-action@v4.4.1
15+
uses: jidicula/clang-format-action@v4.11.0
1616
with:
1717
clang-format-version: '13'
1818
check-path: ${{ matrix.path['check'] }}

.github/workflows/silsim_ci.yml

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
name: SILSIM CI
2+
3+
on: [push]
4+
5+
jobs:
6+
build:
7+
8+
runs-on: ubuntu-latest
9+
10+
steps:
11+
- uses: actions/checkout@v2
12+
- name: Cache pip
13+
uses: actions/cache@v2
14+
with:
15+
path: ~/.cache/pip
16+
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
17+
restore-keys: |
18+
${{ runner.os }}-pip-
19+
- name: Cache PlatformIO
20+
uses: actions/cache@v2
21+
with:
22+
path: ~/.platformio
23+
key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }}
24+
- name: Set up Python
25+
uses: actions/setup-python@v2
26+
- name: Install PlatformIO
27+
run: |
28+
python -m pip install --upgrade pip
29+
pip install --upgrade platformio
30+
- name: update SILSIM
31+
run: |
32+
cd TARS
33+
git submodule init
34+
git submodule update
35+
- name: run SILSIM
36+
run: |
37+
cd TARS
38+
pio run -e mcu_silsim -t upload
39+
- name: Slack Notification
40+
uses: rtCamp/action-slack-notify@v2
41+
env:
42+
SLACK_COLOR: ${{ job.status }} # or a specific color like 'good' or '#ff00ff'
43+
SLACK_MESSAGE: 'SILSIM :troll:'
44+
SLACK_TITLE: 'Silsim Status: ${{ job.status }}'
45+
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
46+
- name: Checkout
47+
uses: actions/checkout@v1
48+
- run: echo "Test file " > test.txt
49+
# - name: Upload log file to slack
50+
# uses: adrey/slack-file-upload-action@master
51+
# with:
52+
# token: ${{ secrets.BOT_KEY }}
53+
# path: test.txt
54+
# channel: silsim_bot_playground
55+

.gitmodules

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
11
[submodule "doxygen-awesome-css"]
22
path = doxygen-awesome-css
33
url = https://github.com/jothepro/doxygen-awesome-css.git
4+
[submodule "silsim"]
5+
path = TARS/src/mcu_main/ISS_SILSIM
6+
url = https://github.com/ISSUIUC/ISS_SILSIM.git
7+
branch = submodule-integration
8+
[submodule "src\\mcu_main\\ISS_SILSIM"]
9+
branch = submodule-integration

Altimeter/include/README

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
2+
This directory is intended for project header files.
3+
4+
A header file is a file containing C declarations and macro definitions
5+
to be shared between several project source files. You request the use of a
6+
header file in your project source file (C, C++, etc) located in `src` folder
7+
by including it, with the C preprocessing directive `#include'.
8+
9+
```src/main.c
10+
11+
#include "header.h"
12+
13+
int main (void)
14+
{
15+
...
16+
}
17+
```
18+
19+
Including a header file produces the same results as copying the header file
20+
into each source file that needs it. Such copying would be time-consuming
21+
and error-prone. With a header file, the related declarations appear
22+
in only one place. If they need to be changed, they can be changed in one
23+
place, and programs that include the header file will automatically use the
24+
new version when next recompiled. The header file eliminates the labor of
25+
finding and changing all the copies as well as the risk that a failure to
26+
find one copy will result in inconsistencies within a program.
27+
28+
In C, the usual convention is to give header files names that end with `.h'.
29+
It is most portable to use only letters, digits, dashes, and underscores in
30+
header file names, and at most one dot.
31+
32+
Read more about using header files in official GCC documentation:
33+
34+
* Include Syntax
35+
* Include Operation
36+
* Once-Only Headers
37+
* Computed Includes
38+
39+
https://gcc.gnu.org/onlinedocs/cpp/Header-Files.html

Altimeter/platformio.ini

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
; PlatformIO Project Configuration File
2+
;
3+
; Build options: build flags, source filter
4+
; Upload options: custom upload port, speed and extra flags
5+
; Library options: dependencies, extra library storages
6+
; Advanced options: extra scripting
7+
;
8+
; Please visit documentation for the other options and examples
9+
; https://docs.platformio.org/page/projectconf.html

Altimeter/test/README

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
2+
This directory is intended for PlatformIO Test Runner and project tests.
3+
4+
Unit Testing is a software testing method by which individual units of
5+
source code, sets of one or more MCU program modules together with associated
6+
control data, usage procedures, and operating procedures, are tested to
7+
determine whether they are fit for use. Unit testing finds problems early
8+
in the development cycle.
9+
10+
More information about PlatformIO Unit Testing:
11+
- https://docs.platformio.org/en/latest/advanced/unit-testing/index.html

TARS/.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "src/mcu_main/ISS_SILSIM"]
2+
url = https://github.com/ISSUIUC/ISS_SILSIM.git
3+
branch = submodule-integration

0 commit comments

Comments
 (0)