├── MATLAB
├── logs
│ └── error_log.txt
├── d2r.m
├── r2d.m
├── images
│ └── curve.png
├── kalmanFnc.m
└── valve_curve.m
├── .gitattributes
├── doc
└── images
│ ├── EPFL.png
│ ├── Logo.png
│ ├── ARGOS.png
│ ├── eSpace.jpg
│ ├── loxam.jpg
│ ├── logo_LMAF.png
│ ├── Logo_large.png
│ ├── MSP430_comm.png
│ ├── SPACETEC_Rocketry.png
│ └── Element_beton_mold_nosecone.png
├── msp430
├── Debug
│ ├── ccsObjs.opt
│ ├── FlyARocket_GNC_MSP430_slave.obj
│ ├── FlyARocket_GNC_MSP430_slave.out
│ ├── objects.mk
│ ├── subdir_vars.mk
│ ├── subdir_rules.mk
│ ├── FlyARocket_GNC_MSP430_slave.pp
│ └── sources.mk
├── _ccsproject
├── targetConfigs
│ ├── readme.txt
│ └── MSP430G2553.ccxml
└── _project
├── Doxygen
├── html
│ ├── Logo.jpeg
│ ├── Logo.png
│ ├── bc_s.png
│ ├── bdwn.png
│ ├── nav_f.png
│ ├── nav_g.png
│ ├── nav_h.png
│ ├── open.png
│ ├── tab_a.png
│ ├── tab_b.png
│ ├── tab_h.png
│ ├── tab_s.png
│ ├── closed.png
│ ├── doxygen.png
│ ├── ftv2cl.png
│ ├── ftv2doc.png
│ ├── ftv2mo.png
│ ├── ftv2ns.png
│ ├── sync_on.png
│ ├── ftv2blank.png
│ ├── ftv2link.png
│ ├── ftv2mnode.png
│ ├── ftv2node.png
│ ├── ftv2pnode.png
│ ├── sync_off.png
│ ├── ftv2lastnode.png
│ ├── ftv2splitbar.png
│ ├── ftv2vertline.png
│ ├── search
│ │ ├── close.png
│ │ ├── classes_2.js
│ │ ├── mag_sel.png
│ │ ├── search_l.png
│ │ ├── search_m.png
│ │ ├── search_r.png
│ │ ├── classes_3.js
│ │ ├── pages_0.js
│ │ ├── classes_1.js
│ │ ├── classes_0.js
│ │ ├── all_8.js
│ │ ├── variables_8.js
│ │ ├── all_17.js
│ │ ├── defines_4.js
│ │ ├── defines_5.js
│ │ ├── functions_3.js
│ │ ├── typedefs_0.js
│ │ ├── variables_16.js
│ │ ├── variables_17.js
│ │ ├── defines_2.js
│ │ ├── functions_4.js
│ │ ├── functions_5.js
│ │ ├── variables_a.js
│ │ ├── all_13.js
│ │ ├── files_2.js
│ │ ├── functions_c.js
│ │ ├── files_1.js
│ │ ├── functions_d.js
│ │ ├── defines_6.js
│ │ ├── files_0.js
│ │ ├── files_4.js
│ │ ├── files_5.js
│ │ ├── variables_9.js
│ │ ├── variables_1.js
│ │ ├── all_18.js
│ │ ├── defines_1.js
│ │ ├── defines_0.js
│ │ ├── functions_9.js
│ │ ├── variables_13.js
│ │ ├── functions_8.js
│ │ ├── variables_d.js
│ │ ├── all_9.js
│ │ ├── functions_b.js
│ │ ├── files_6.js
│ │ ├── variables_6.js
│ │ ├── defines_3.js
│ │ ├── functions_7.js
│ │ ├── all_a.js
│ │ ├── files_3.js
│ │ ├── all_14.js
│ │ ├── functions_1.js
│ │ ├── nomatches.html
│ │ ├── functions_0.js
│ │ ├── variables_14.js
│ │ ├── all_1.js
│ │ ├── functions_2.js
│ │ ├── all_15.js
│ │ ├── all_d.js
│ │ ├── all_16.js
│ │ ├── all_f.js
│ │ ├── variables_15.js
│ │ ├── variables_f.js
│ │ ├── all_3.js
│ │ ├── all_4.js
│ │ ├── variables_3.js
│ │ ├── variables_4.js
│ │ ├── variables_5.js
│ │ ├── variables_11.js
│ │ ├── variables_c.js
│ │ ├── all_c.js
│ │ ├── variables_2.js
│ │ ├── functions_a.js
│ │ ├── all_0.html
│ │ ├── all_1.html
│ │ ├── all_2.html
│ │ ├── all_3.html
│ │ ├── all_4.html
│ │ ├── all_5.html
│ │ ├── all_6.html
│ │ ├── all_7.html
│ │ ├── all_8.html
│ │ ├── all_9.html
│ │ ├── all_a.html
│ │ ├── all_b.html
│ │ ├── all_c.html
│ │ ├── all_d.html
│ │ ├── all_e.html
│ │ ├── all_f.html
│ │ ├── all_10.html
│ │ ├── all_11.html
│ │ ├── all_12.html
│ │ ├── all_13.html
│ │ ├── all_14.html
│ │ ├── all_15.html
│ │ ├── all_16.html
│ │ ├── all_17.html
│ │ ├── all_18.html
│ │ ├── files_0.html
│ │ ├── files_1.html
│ │ ├── files_2.html
│ │ ├── files_3.html
│ │ ├── files_4.html
│ │ ├── files_5.html
│ │ ├── files_6.html
│ │ ├── pages_0.html
│ │ ├── classes_0.html
│ │ ├── classes_1.html
│ │ ├── classes_2.html
│ │ ├── classes_3.html
│ │ ├── defines_0.html
│ │ ├── defines_1.html
│ │ ├── defines_2.html
│ │ ├── defines_3.html
│ │ ├── defines_4.html
│ │ ├── defines_5.html
│ │ ├── defines_6.html
│ │ ├── typedefs_0.html
│ │ ├── functions_0.html
│ │ ├── functions_1.html
│ │ ├── functions_2.html
│ │ ├── functions_3.html
│ │ ├── functions_4.html
│ │ ├── functions_5.html
│ │ ├── functions_6.html
│ │ ├── functions_7.html
│ │ ├── functions_8.html
│ │ ├── functions_9.html
│ │ ├── functions_a.html
│ │ ├── functions_b.html
│ │ ├── functions_c.html
│ │ ├── functions_d.html
│ │ ├── variables_0.html
│ │ ├── variables_1.html
│ │ ├── variables_10.html
│ │ ├── variables_11.html
│ │ ├── variables_12.html
│ │ ├── variables_13.html
│ │ ├── variables_14.html
│ │ ├── variables_15.html
│ │ ├── variables_16.html
│ │ ├── variables_17.html
│ │ ├── variables_2.html
│ │ ├── variables_3.html
│ │ ├── variables_4.html
│ │ ├── variables_5.html
│ │ ├── variables_6.html
│ │ ├── variables_7.html
│ │ ├── variables_8.html
│ │ ├── variables_9.html
│ │ ├── variables_a.html
│ │ ├── variables_b.html
│ │ ├── variables_c.html
│ │ ├── variables_d.html
│ │ ├── variables_e.html
│ │ ├── variables_f.html
│ │ ├── all_6.js
│ │ ├── all_5.js
│ │ ├── functions_6.js
│ │ ├── variables_7.js
│ │ ├── all_2.js
│ │ ├── variables_12.js
│ │ ├── all_7.js
│ │ ├── all_12.js
│ │ ├── all_11.js
│ │ ├── variables_b.js
│ │ ├── all_0.js
│ │ └── variables_0.js
│ ├── ftv2folderopen.png
│ ├── ftv2mlastnode.png
│ ├── ftv2plastnode.png
│ ├── ftv2folderclosed.png
│ └── tabs.css
└── latex
│ ├── refman.pdf
│ ├── footer.tex
│ ├── refman.ilg
│ ├── Makefile
│ ├── annotated.tex
│ ├── la__header_8h.tex
│ ├── structstruct.tex
│ ├── structLQR__control__loop.tex
│ ├── spycam__header_8h.tex
│ ├── structMATRIX.tex
│ ├── structbcm2835__peripheral.tex
│ ├── structControl__loop.tex
│ ├── control__header_8h.tex
│ └── files.tex
├── spycam_header.h
├── la_header.h
├── LICENSE
├── msp430_header.h
├── control_funcs.c
├── rpi_gpio_funcs.c
├── control_header.h
├── rpi_gpio_header.h
├── simplex_header.h
└── spycam_funcs.c
/MATLAB/logs/error_log.txt:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/MATLAB/d2r.m:
--------------------------------------------------------------------------------
1 | function y=d2r(x)
2 | y=x*pi/180;
3 | end
--------------------------------------------------------------------------------
/MATLAB/r2d.m:
--------------------------------------------------------------------------------
1 | function y=r2d(x)
2 | y=x*180/pi;
3 | end
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | Doxygen/* linguist-documentation
2 | doc/* linguist-documentation
--------------------------------------------------------------------------------
/doc/images/EPFL.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/doc/images/EPFL.png
--------------------------------------------------------------------------------
/doc/images/Logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/doc/images/Logo.png
--------------------------------------------------------------------------------
/msp430/Debug/ccsObjs.opt:
--------------------------------------------------------------------------------
1 | "./FlyARocket_GNC_MSP430_slave.obj" "../lnk_msp430g2553.cmd" -l"libc.a"
--------------------------------------------------------------------------------
/Doxygen/html/Logo.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/Doxygen/html/Logo.jpeg
--------------------------------------------------------------------------------
/Doxygen/html/Logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/Doxygen/html/Logo.png
--------------------------------------------------------------------------------
/Doxygen/html/bc_s.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/Doxygen/html/bc_s.png
--------------------------------------------------------------------------------
/Doxygen/html/bdwn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/Doxygen/html/bdwn.png
--------------------------------------------------------------------------------
/Doxygen/html/nav_f.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/Doxygen/html/nav_f.png
--------------------------------------------------------------------------------
/Doxygen/html/nav_g.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/Doxygen/html/nav_g.png
--------------------------------------------------------------------------------
/Doxygen/html/nav_h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/Doxygen/html/nav_h.png
--------------------------------------------------------------------------------
/Doxygen/html/open.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/Doxygen/html/open.png
--------------------------------------------------------------------------------
/Doxygen/html/tab_a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/Doxygen/html/tab_a.png
--------------------------------------------------------------------------------
/Doxygen/html/tab_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/Doxygen/html/tab_b.png
--------------------------------------------------------------------------------
/Doxygen/html/tab_h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/Doxygen/html/tab_h.png
--------------------------------------------------------------------------------
/Doxygen/html/tab_s.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/Doxygen/html/tab_s.png
--------------------------------------------------------------------------------
/doc/images/ARGOS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/doc/images/ARGOS.png
--------------------------------------------------------------------------------
/doc/images/eSpace.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/doc/images/eSpace.jpg
--------------------------------------------------------------------------------
/doc/images/loxam.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/doc/images/loxam.jpg
--------------------------------------------------------------------------------
/Doxygen/html/closed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/Doxygen/html/closed.png
--------------------------------------------------------------------------------
/Doxygen/html/doxygen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/Doxygen/html/doxygen.png
--------------------------------------------------------------------------------
/Doxygen/html/ftv2cl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/Doxygen/html/ftv2cl.png
--------------------------------------------------------------------------------
/Doxygen/html/ftv2doc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/Doxygen/html/ftv2doc.png
--------------------------------------------------------------------------------
/Doxygen/html/ftv2mo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/Doxygen/html/ftv2mo.png
--------------------------------------------------------------------------------
/Doxygen/html/ftv2ns.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/Doxygen/html/ftv2ns.png
--------------------------------------------------------------------------------
/Doxygen/html/sync_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/Doxygen/html/sync_on.png
--------------------------------------------------------------------------------
/Doxygen/latex/refman.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/Doxygen/latex/refman.pdf
--------------------------------------------------------------------------------
/MATLAB/images/curve.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/MATLAB/images/curve.png
--------------------------------------------------------------------------------
/doc/images/logo_LMAF.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/doc/images/logo_LMAF.png
--------------------------------------------------------------------------------
/Doxygen/html/ftv2blank.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/Doxygen/html/ftv2blank.png
--------------------------------------------------------------------------------
/Doxygen/html/ftv2link.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/Doxygen/html/ftv2link.png
--------------------------------------------------------------------------------
/Doxygen/html/ftv2mnode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/Doxygen/html/ftv2mnode.png
--------------------------------------------------------------------------------
/Doxygen/html/ftv2node.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/Doxygen/html/ftv2node.png
--------------------------------------------------------------------------------
/Doxygen/html/ftv2pnode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/Doxygen/html/ftv2pnode.png
--------------------------------------------------------------------------------
/Doxygen/html/sync_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/Doxygen/html/sync_off.png
--------------------------------------------------------------------------------
/doc/images/Logo_large.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/doc/images/Logo_large.png
--------------------------------------------------------------------------------
/doc/images/MSP430_comm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/doc/images/MSP430_comm.png
--------------------------------------------------------------------------------
/Doxygen/html/ftv2lastnode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/Doxygen/html/ftv2lastnode.png
--------------------------------------------------------------------------------
/Doxygen/html/ftv2splitbar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/Doxygen/html/ftv2splitbar.png
--------------------------------------------------------------------------------
/Doxygen/html/ftv2vertline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/Doxygen/html/ftv2vertline.png
--------------------------------------------------------------------------------
/Doxygen/html/search/close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/Doxygen/html/search/close.png
--------------------------------------------------------------------------------
/Doxygen/html/ftv2folderopen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/Doxygen/html/ftv2folderopen.png
--------------------------------------------------------------------------------
/Doxygen/html/ftv2mlastnode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/Doxygen/html/ftv2mlastnode.png
--------------------------------------------------------------------------------
/Doxygen/html/ftv2plastnode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/Doxygen/html/ftv2plastnode.png
--------------------------------------------------------------------------------
/Doxygen/html/search/classes_2.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['matrix',['MATRIX',['../structMATRIX.html',1,'']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/Doxygen/html/search/mag_sel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/Doxygen/html/search/mag_sel.png
--------------------------------------------------------------------------------
/Doxygen/html/search/search_l.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/Doxygen/html/search/search_l.png
--------------------------------------------------------------------------------
/Doxygen/html/search/search_m.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/Doxygen/html/search/search_m.png
--------------------------------------------------------------------------------
/Doxygen/html/search/search_r.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/Doxygen/html/search/search_r.png
--------------------------------------------------------------------------------
/doc/images/SPACETEC_Rocketry.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/doc/images/SPACETEC_Rocketry.png
--------------------------------------------------------------------------------
/Doxygen/html/ftv2folderclosed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/Doxygen/html/ftv2folderclosed.png
--------------------------------------------------------------------------------
/Doxygen/html/search/classes_3.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['spi_5fdata',['SPI_data',['../structSPI__data.html',1,'']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/Doxygen/html/search/pages_0.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['flyarocket_5fgnc',['FlyARocket_GNC',['../md_README.html',1,'']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/doc/images/Element_beton_mold_nosecone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/doc/images/Element_beton_mold_nosecone.png
--------------------------------------------------------------------------------
/Doxygen/html/search/classes_1.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['control_5floop',['Control_loop',['../structControl__loop.html',1,'']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/msp430/Debug/FlyARocket_GNC_MSP430_slave.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/msp430/Debug/FlyARocket_GNC_MSP430_slave.obj
--------------------------------------------------------------------------------
/msp430/Debug/FlyARocket_GNC_MSP430_slave.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dmalyuta/FlyARocket_GNC/HEAD/msp430/Debug/FlyARocket_GNC_MSP430_slave.out
--------------------------------------------------------------------------------
/Doxygen/html/search/classes_0.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['bcm2835_5fperipheral',['bcm2835_peripheral',['../structbcm2835__peripheral.html',1,'']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_8.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['j',['j',['../simplex__header_8h.html#a37d972ae0b47b9099e30983131d31916',1,'simplex_header.h']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_8.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['j',['j',['../simplex__header_8h.html#a37d972ae0b47b9099e30983131d31916',1,'simplex_header.h']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_17.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['yaw_5fbytes',['yaw_bytes',['../imu__header_8h.html#a8eec6ec2b20a3e41d20120befec590cb',1,'imu_header.h']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/Doxygen/html/search/defines_4.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['nmax',['NMAX',['../simplex__header_8h.html#a5de5d183f9a6a8d53316f743e1ca6dc2',1,'simplex_header.h']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/Doxygen/html/search/defines_5.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['real',['REAL',['../simplex__header_8h.html#a4b654506f18b8bfd61ad2a29a7e38c25',1,'simplex_header.h']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/Doxygen/html/search/functions_3.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['initmatrix',['initMatrix',['../la__funcs_8c.html#a3adcfc4926f7e83a7ab0df36709935cb',1,'la_funcs.c']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/Doxygen/html/search/typedefs_0.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['mat',['MAT',['../simplex__header_8h.html#a42fde6adf063d0e30ad7a238b2d6e7da',1,'simplex_header.h']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_16.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['yaw_5fbytes',['yaw_bytes',['../imu__header_8h.html#a8eec6ec2b20a3e41d20120befec590cb',1,'imu_header.h']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_17.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['z_5ftemp',['z_temp',['../master__header_8h.html#a208beef538560359625f34731892c3a8',1,'master_header.h']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/Doxygen/html/search/defines_2.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['inp_5fgpio',['INP_GPIO',['../rpi__gpio__header_8h.html#a03886f219aed83bfc164616c20270990',1,'rpi_gpio_header.h']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/Doxygen/html/search/functions_4.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['kalman_5ffilter',['Kalman_filter',['../imu__funcs_8c.html#a0d3dd751864c0bf8eb525ba4d16b02da',1,'imu_funcs.c']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/Doxygen/html/search/functions_5.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['linear_5fsearch',['linear_search',['../master__funcs_8c.html#a61a66362f264f2a07f6691edbfb616ff',1,'master_funcs.c']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_a.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['launch_5fdetect_5fgpio',['launch_detect_gpio',['../master_8c.html#a9fd9d19baa498f5f274cc0ed9a5bf19f',1,'master.c']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_13.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['unmap_5fperipheral',['unmap_peripheral',['../rpi__gpio__funcs_8c.html#a7296d60e6783b497a756672bee8f2b73',1,'rpi_gpio_funcs.c']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/Doxygen/html/search/files_2.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['la_5ffuncs_2ec',['la_funcs.c',['../la__funcs_8c.html',1,'']]],
4 | ['la_5fheader_2eh',['la_header.h',['../la__header_8h.html',1,'']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/Doxygen/html/search/functions_c.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['unmap_5fperipheral',['unmap_peripheral',['../rpi__gpio__funcs_8c.html#a7296d60e6783b497a756672bee8f2b73',1,'rpi_gpio_funcs.c']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/Doxygen/html/search/files_1.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['imu_5ffuncs_2ec',['imu_funcs.c',['../imu__funcs_8c.html',1,'']]],
4 | ['imu_5fheader_2eh',['imu_header.h',['../imu__header_8h.html',1,'']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/Doxygen/html/search/functions_d.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['write_5fto_5ffile_5fcustom',['write_to_file_custom',['../master__funcs_8c.html#a0ebc9cbfa5616a43caa96e7394543752',1,'master_funcs.c']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/Doxygen/html/search/defines_6.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['valve_5fcharac_5fresolution',['VALVE_CHARAC_RESOLUTION',['../master__header_8h.html#ae3593488fd933fd856b687d074f25f91',1,'master_header.h']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/Doxygen/html/search/files_0.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['control_5ffuncs_2ec',['control_funcs.c',['../control__funcs_8c.html',1,'']]],
4 | ['control_5fheader_2eh',['control_header.h',['../control__header_8h.html',1,'']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/Doxygen/html/search/files_4.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['pressure_5ffuncs_2ec',['pressure_funcs.c',['../pressure__funcs_8c.html',1,'']]],
4 | ['pressure_5fheader_2eh',['pressure_header.h',['../pressure__header_8h.html',1,'']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/Doxygen/latex/footer.tex:
--------------------------------------------------------------------------------
1 | % Latex footer for doxygen 1.8.6
2 | %--- End generated contents ---
3 |
4 | % Index
5 | \newpage
6 | \phantomsection
7 | \addcontentsline{toc}{chapter}{Index}
8 | \printindex
9 |
10 | \end{document}
11 |
--------------------------------------------------------------------------------
/Doxygen/html/search/files_5.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['rpi_5fgpio_5ffuncs_2ec',['rpi_gpio_funcs.c',['../rpi__gpio__funcs_8c.html',1,'']]],
4 | ['rpi_5fgpio_5fheader_2eh',['rpi_gpio_header.h',['../rpi__gpio__header_8h.html',1,'']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_9.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['k',['K',['../structControl__loop.html#ac3aed43dcaf03d086e69ab794f1959f4',1,'Control_loop::K()'],['../master__header_8h.html#a107f0845bd2d21fa210455b619ced07c',1,'K(): master_header.h']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_1.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['bits',['bits',['../structSPI__data.html#a753df088a8164dcd9b1cacda6127da39',1,'SPI_data']]],
4 | ['buffer_5flength',['buffer_length',['../structSPI__data.html#a30db968277621df77b6ba5171c79da08',1,'SPI_data']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_18.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['z_5ftemp',['z_temp',['../master__header_8h.html#a208beef538560359625f34731892c3a8',1,'master_header.h']]],
4 | ['zero_5feuler_5fangles',['zero_Euler_angles',['../imu__funcs_8c.html#af774e625f637fc19cc15a923e77cfbe2',1,'imu_funcs.c']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/msp430/Debug/objects.mk:
--------------------------------------------------------------------------------
1 | ################################################################################
2 | # Automatically-generated file. Do not edit!
3 | ################################################################################
4 |
5 | USER_OBJS :=
6 |
7 | LIBS := -l"libc.a"
8 |
9 |
--------------------------------------------------------------------------------
/Doxygen/html/search/defines_1.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['gpio_5fbase',['GPIO_BASE',['../rpi__gpio__header_8h.html#acce3b8a909ed8b957b4e411dfb7cbd91',1,'rpi_gpio_header.h']]],
4 | ['gpio_5fread',['GPIO_READ',['../rpi__gpio__header_8h.html#a1b3cfde4a8e61549b9056e961d0c636f',1,'rpi_gpio_header.h']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/Doxygen/html/search/defines_0.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['bcm2708_5fperi_5fbase',['BCM2708_PERI_BASE',['../rpi__gpio__header_8h.html#a11b27df3f0aad9252ceeeb93e6262a83',1,'rpi_gpio_header.h']]],
4 | ['byte_5fnumber',['BYTE_NUMBER',['../pressure__header_8h.html#a2d66f7ecdddd16be2061ccc58ed24c35',1,'pressure_header.h']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/Doxygen/html/search/functions_9.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['read_5fimu_5fparallel',['read_IMU_parallel',['../imu__funcs_8c.html#adacd103cea6c5f68c6b1ea416394c9f4',1,'imu_funcs.c']]],
4 | ['reset_5fold_5fattr_5fport',['reset_old_attr_port',['../imu__funcs_8c.html#a7fa0bd6b1a0206326d09eb5e8d21eb5e',1,'imu_funcs.c']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_13.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['valve_5f_5fmax_5fthrust',['VALVE__MAX_THRUST',['../control__funcs_8c.html#aa8eaf2e84821e970845fd6233109f952',1,'VALVE__MAX_THRUST(): control_funcs.c'],['../master__header_8h.html#aa8eaf2e84821e970845fd6233109f952',1,'VALVE__MAX_THRUST(): control_funcs.c']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/Doxygen/html/search/functions_8.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['passive_5fwait',['passive_wait',['../master__funcs_8c.html#aab039920099459bf8d53159b68485e24',1,'master_funcs.c']]],
4 | ['pressure_5fsensor_5fspi_5fconnect',['pressure_sensor_SPI_connect',['../pressure__funcs_8c.html#a13d931d4705e660b720ed2b8c0e28695',1,'pressure_funcs.c']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_d.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['old_5fmsp430_5fuart_5foptions',['old_msp430_uart_options',['../msp430__header_8h.html#a933965c1edf0c5b6f0e815debd4e2946',1,'msp430_header.h']]],
4 | ['old_5frazor_5fuart_5foptions',['old_razor_uart_options',['../imu__header_8h.html#a2eb75463dec46981ad5e4001ea2c5aa8',1,'imu_header.h']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_9.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['k',['K',['../structControl__loop.html#ac3aed43dcaf03d086e69ab794f1959f4',1,'Control_loop::K()'],['../master__header_8h.html#a107f0845bd2d21fa210455b619ced07c',1,'K(): master_header.h']]],
4 | ['kalman_5ffilter',['Kalman_filter',['../imu__funcs_8c.html#a0d3dd751864c0bf8eb525ba4d16b02da',1,'imu_funcs.c']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/Doxygen/html/search/functions_b.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['to_5fdeg',['TO_DEG',['../imu__funcs_8c.html#a530aca183f3048a15b2018cef637d5f5',1,'imu_funcs.c']]],
4 | ['transpose',['transpose',['../la__funcs_8c.html#a10c538631864f825891da97cc8dc7d5d',1,'la_funcs.c']]],
5 | ['treat_5freply',['Treat_reply',['../imu__funcs_8c.html#a20a4f75f9d2fefab9dbc656f77eeda06',1,'imu_funcs.c']]]
6 | ];
7 |
--------------------------------------------------------------------------------
/Doxygen/html/search/files_6.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['simplex_5ffuncs_2ec',['simplex_funcs.c',['../simplex__funcs_8c.html',1,'']]],
4 | ['simplex_5fheader_2eh',['simplex_header.h',['../simplex__header_8h.html',1,'']]],
5 | ['spycam_5ffuncs_2ec',['spycam_funcs.c',['../spycam__funcs_8c.html',1,'']]],
6 | ['spycam_5fheader_2eh',['spycam_header.h',['../spycam__header_8h.html',1,'']]]
7 | ];
8 |
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_6.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['global_5f_5ftime_5fstartpoint',['GLOBAL__TIME_STARTPOINT',['../master__header_8h.html#ac252c85bbad7e441650702547296055d',1,'master_header.h']]],
4 | ['gpio',['gpio',['../master_8c.html#a9181fa0a34f8c0ed9983a6088fa1de19',1,'gpio(): master.c'],['../rpi__gpio__header_8h.html#a9181fa0a34f8c0ed9983a6088fa1de19',1,'gpio(): master.c']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/Doxygen/html/search/defines_3.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['max_5fbuffer',['MAX_BUFFER',['../imu__header_8h.html#a1d5dab30b404fab91608086105afc78c',1,'imu_header.h']]],
4 | ['mmax',['MMAX',['../simplex__header_8h.html#ae640f769af4067b42af6136b98cf09c2',1,'simplex_header.h']]],
5 | ['msp430_5fmax_5fbuffer',['MSP430_MAX_BUFFER',['../msp430__header_8h.html#a5300b0b563af902d75ce92100e9fe1ab',1,'msp430_header.h']]]
6 | ];
7 |
--------------------------------------------------------------------------------
/Doxygen/html/search/functions_7.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['open_5ferror_5ffile',['open_error_file',['../master__funcs_8c.html#a74b332f6927a5430b862f575cdb07e72',1,'master_funcs.c']]],
4 | ['open_5ffile',['open_file',['../master__funcs_8c.html#acaeb180ec54844f644d844aef7ecb8d3',1,'master_funcs.c']]],
5 | ['open_5fserial_5fport',['open_serial_port',['../imu__funcs_8c.html#a628a7b5bc4a309137ce51e9e929bfabf',1,'imu_funcs.c']]]
6 | ];
7 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_a.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['la_5ffuncs_2ec',['la_funcs.c',['../la__funcs_8c.html',1,'']]],
4 | ['la_5fheader_2eh',['la_header.h',['../la__header_8h.html',1,'']]],
5 | ['launch_5fdetect_5fgpio',['launch_detect_gpio',['../master_8c.html#a9fd9d19baa498f5f274cc0ed9a5bf19f',1,'master.c']]],
6 | ['linear_5fsearch',['linear_search',['../master__funcs_8c.html#a61a66362f264f2a07f6691edbfb616ff',1,'master_funcs.c']]]
7 | ];
8 |
--------------------------------------------------------------------------------
/Doxygen/html/search/files_3.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['master_2ec',['master.c',['../master_8c.html',1,'']]],
4 | ['master_5ffuncs_2ec',['master_funcs.c',['../master__funcs_8c.html',1,'']]],
5 | ['master_5fheader_2eh',['master_header.h',['../master__header_8h.html',1,'']]],
6 | ['msp430_5ffuncs_2ec',['msp430_funcs.c',['../msp430__funcs_8c.html',1,'']]],
7 | ['msp430_5fheader_2eh',['msp430_header.h',['../msp430__header_8h.html',1,'']]]
8 | ];
9 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_14.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['valve_5f_5fmax_5fthrust',['VALVE__MAX_THRUST',['../control__funcs_8c.html#aa8eaf2e84821e970845fd6233109f952',1,'VALVE__MAX_THRUST(): control_funcs.c'],['../master__header_8h.html#aa8eaf2e84821e970845fd6233109f952',1,'VALVE__MAX_THRUST(): control_funcs.c']]],
4 | ['valve_5fcharac_5fresolution',['VALVE_CHARAC_RESOLUTION',['../master__header_8h.html#ae3593488fd933fd856b687d074f25f91',1,'master_header.h']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/MATLAB/kalmanFnc.m:
--------------------------------------------------------------------------------
1 | function [xNext,PNext] = kalmanFnc(x,P,z,Q,R,dt)
2 | % Real-time Kalman filter
3 |
4 | % Discrete time model matrices A,C (x(k+1)=(A+I*dt)*x(k) ; y=C*x)
5 | A = eye(2)+dt*[0,1;0,0];
6 | C = [1 0];%y=Cx
7 |
8 | %Prediction
9 | x = A*x;
10 | P = A*P*A'+Q;
11 |
12 | %Update
13 | inn = z-C*x;
14 | S = C*P*C'+R;
15 | K = P*C'*inv(S);
16 | xNext = x + K*inn;
17 | PNext = (eye(2)-K*C)*P;
18 | end
--------------------------------------------------------------------------------
/Doxygen/html/search/functions_1.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['find_5fraw_5feuler_5fangular_5fvelocities',['Find_raw_Euler_angular_velocities',['../imu__funcs_8c.html#a0f46701132540ff5241c276a19f7b38d',1,'imu_funcs.c']]],
4 | ['fpitch_5floop_5fcontrol_5fsetup',['Fpitch_loop_control_setup',['../control__funcs_8c.html#a61112075a4a85516d83e6a5783195f6a',1,'control_funcs.c']]],
5 | ['fyaw_5floop_5fcontrol_5fsetup',['Fyaw_loop_control_setup',['../control__funcs_8c.html#a7ae1b1a2260fb4f478a16bfbef58a40c',1,'control_funcs.c']]]
6 | ];
7 |
--------------------------------------------------------------------------------
/Doxygen/html/search/nomatches.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Doxygen/html/search/functions_0.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['calibrate_5fimu',['Calibrate_IMU',['../imu__funcs_8c.html#ad49c526544bbd5b5b163b394bec8a65e',1,'imu_funcs.c']]],
4 | ['check_5ftime',['check_time',['../master__funcs_8c.html#a38415767eeeb2be505d4e823dc187437',1,'master_funcs.c']]],
5 | ['close_5fport',['close_port',['../imu__funcs_8c.html#ac9d43b6aaa5a79aa447df61c4fec5ffe',1,'imu_funcs.c']]],
6 | ['construct_5fzeroed_5fdcm',['construct_zeroed_DCM',['../imu__funcs_8c.html#a00994ba3854703e3e5162202f6d88971',1,'imu_funcs.c']]]
7 | ];
8 |
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_14.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['wx',['wx',['../imu__header_8h.html#a40083d5d71ff675499a8d392ff75f401',1,'imu_header.h']]],
4 | ['wx_5fcont',['wx_cont',['../master_8c.html#abaaeebf27cbf4160bd6c104223d91bc1',1,'master.c']]],
5 | ['wx_5fref',['wx_ref',['../master_8c.html#aefb70f2fa88635c005237246792ab6bb',1,'master.c']]],
6 | ['wy',['wy',['../imu__header_8h.html#ae05e525eb10e278f769ff1bc049eec10',1,'imu_header.h']]],
7 | ['wz',['wz',['../imu__header_8h.html#a3cc50c2a8b1ca44e2cd5c4ed748c610a',1,'imu_header.h']]]
8 | ];
9 |
--------------------------------------------------------------------------------
/msp430/_ccsproject:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/Doxygen/latex/refman.ilg:
--------------------------------------------------------------------------------
1 | This is makeindex, version 2.15 [TeX Live 2013] (kpathsea + Thai support).
2 | Scanning input file refman.idx....
3 | !! Input index error (file = refman.idx, line = 12):
4 | -- First argument too long (max 1024).
5 |
6 | !! Input index error (file = refman.idx, line = 84):
7 | -- First argument too long (max 1024).
8 | done (123 entries accepted, 2 rejected).
9 | Sorting entries....done (883 comparisons).
10 | Generating output file refman.ind....done (330 lines written, 0 warnings).
11 | Output written in refman.ind.
12 | Transcript written in refman.ilg.
13 |
--------------------------------------------------------------------------------
/Doxygen/latex/Makefile:
--------------------------------------------------------------------------------
1 | all: refman.pdf
2 |
3 | pdf: refman.pdf
4 |
5 | refman.pdf: clean refman.tex
6 | pdflatex refman
7 | makeindex refman.idx
8 | pdflatex refman
9 | latex_count=8 ; \
10 | while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\
11 | do \
12 | echo "Rerunning latex...." ;\
13 | pdflatex refman ;\
14 | latex_count=`expr $$latex_count - 1` ;\
15 | done
16 | makeindex refman.idx
17 | pdflatex refman
18 |
19 |
20 | clean:
21 | rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl refman.pdf
22 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_1.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['bcm2708_5fperi_5fbase',['BCM2708_PERI_BASE',['../rpi__gpio__header_8h.html#a11b27df3f0aad9252ceeeb93e6262a83',1,'rpi_gpio_header.h']]],
4 | ['bcm2835_5fperipheral',['bcm2835_peripheral',['../structbcm2835__peripheral.html',1,'']]],
5 | ['bits',['bits',['../structSPI__data.html#a753df088a8164dcd9b1cacda6127da39',1,'SPI_data']]],
6 | ['buffer_5flength',['buffer_length',['../structSPI__data.html#a30db968277621df77b6ba5171c79da08',1,'SPI_data']]],
7 | ['byte_5fnumber',['BYTE_NUMBER',['../pressure__header_8h.html#a2d66f7ecdddd16be2061ccc58ed24c35',1,'pressure_header.h']]]
8 | ];
9 |
--------------------------------------------------------------------------------
/Doxygen/html/search/functions_2.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['get_5ffiltered_5fattitude_5fparallel',['get_filtered_attitude_parallel',['../imu__funcs_8c.html#a819d365851c5396da5453c27c37af71b',1,'imu_funcs.c']]],
4 | ['get_5fold_5fattr',['get_old_attr',['../imu__funcs_8c.html#af0de4ccb0965284af856630060f952ff',1,'imu_funcs.c']]],
5 | ['get_5freadings_5fspi_5fparallel',['get_readings_SPI_parallel',['../pressure__funcs_8c.html#a6c8634a0f37e059edc662324a919c39e',1,'pressure_funcs.c']]],
6 | ['get_5fsimplex_5fsolution',['get_simplex_solution',['../simplex__funcs_8c.html#a01b1cf65d8b2a0515866249c8c26ee94',1,'simplex_funcs.c']]]
7 | ];
8 |
--------------------------------------------------------------------------------
/Doxygen/latex/annotated.tex:
--------------------------------------------------------------------------------
1 | \section{Class List}
2 | Here are the classes, structs, unions and interfaces with brief descriptions\-:\begin{DoxyCompactList}
3 | \item\contentsline{section}{\hyperlink{structbcm2835__peripheral}{bcm2835\-\_\-peripheral} }{\pageref{structbcm2835__peripheral}}{}
4 | \item\contentsline{section}{\hyperlink{structControl__loop}{Control\-\_\-loop} }{\pageref{structControl__loop}}{}
5 | \item\contentsline{section}{\hyperlink{structMATRIX}{M\-A\-T\-R\-I\-X} }{\pageref{structMATRIX}}{}
6 | \item\contentsline{section}{\hyperlink{structSPI__data}{S\-P\-I\-\_\-data} }{\pageref{structSPI__data}}{}
7 | \end{DoxyCompactList}
8 |
--------------------------------------------------------------------------------
/spycam_header.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file spycam_header.h
3 | * @author Danylo Malyuta
4 | * @version 1.0
5 | *
6 | * @brief Raspberry Pi spy camera header file.
7 | *
8 | * This is the header to spycam_funcs.c containing necessary function and variable
9 | * declarations.
10 | */
11 |
12 | #ifndef SPYCAM_HEADER_H_
13 | #define SPYCAM_HEADER_H_
14 |
15 | extern pid_t pid; ///< Process ID variable for the Raspberry Pi spy camera video recording
16 |
17 | /** @cond INCLUDE_WITH_DOXYGEN */
18 | void startVideo(char *filename, char *options);
19 | void stopVideo(void);
20 | /** @endcond */
21 |
22 | #endif /* SPYCAM_HEADER_H_ */
23 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_15.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['write_5fto_5ffile_5fcustom',['write_to_file_custom',['../master__funcs_8c.html#a0ebc9cbfa5616a43caa96e7394543752',1,'master_funcs.c']]],
4 | ['wx',['wx',['../imu__header_8h.html#a40083d5d71ff675499a8d392ff75f401',1,'imu_header.h']]],
5 | ['wx_5fcont',['wx_cont',['../master_8c.html#abaaeebf27cbf4160bd6c104223d91bc1',1,'master.c']]],
6 | ['wx_5fref',['wx_ref',['../master_8c.html#aefb70f2fa88635c005237246792ab6bb',1,'master.c']]],
7 | ['wy',['wy',['../imu__header_8h.html#ae05e525eb10e278f769ff1bc049eec10',1,'imu_header.h']]],
8 | ['wz',['wz',['../imu__header_8h.html#a3cc50c2a8b1ca44e2cd5c4ed748c610a',1,'imu_header.h']]]
9 | ];
10 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_d.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['old_5fmsp430_5fuart_5foptions',['old_msp430_uart_options',['../msp430__header_8h.html#a933965c1edf0c5b6f0e815debd4e2946',1,'msp430_header.h']]],
4 | ['old_5frazor_5fuart_5foptions',['old_razor_uart_options',['../imu__header_8h.html#a2eb75463dec46981ad5e4001ea2c5aa8',1,'imu_header.h']]],
5 | ['open_5ferror_5ffile',['open_error_file',['../master__funcs_8c.html#a74b332f6927a5430b862f575cdb07e72',1,'master_funcs.c']]],
6 | ['open_5ffile',['open_file',['../master__funcs_8c.html#acaeb180ec54844f644d844aef7ecb8d3',1,'master_funcs.c']]],
7 | ['open_5fserial_5fport',['open_serial_port',['../imu__funcs_8c.html#a628a7b5bc4a309137ce51e9e929bfabf',1,'imu_funcs.c']]]
8 | ];
9 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_16.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['x_5fphi',['x_phi',['../master__header_8h.html#a7a91c3a0b462c305623653203463ad81',1,'master_header.h']]],
4 | ['x_5fphidot',['x_phidot',['../master__header_8h.html#a769535ee025d21aada6eb7c696035ab6',1,'master_header.h']]],
5 | ['x_5fpsi',['x_psi',['../master__header_8h.html#a8952485df67da6b993e63ff4ce9f8555',1,'master_header.h']]],
6 | ['x_5fpsidot',['x_psidot',['../master__header_8h.html#a99357188eb725d9cda85ed4b9e0530a6',1,'master_header.h']]],
7 | ['x_5ftheta',['x_theta',['../master__header_8h.html#a6af0345fdd89590b194401d1602a5c6a',1,'master_header.h']]],
8 | ['x_5fthetadot',['x_thetadot',['../master__header_8h.html#a8d547193b9e8507b7519bec3cd9eb5af',1,'master_header.h']]]
9 | ];
10 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_f.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['q_5fphi',['Q_phi',['../master__header_8h.html#a51c0a1d016ac363ff613a8bbc9d6dd30',1,'master_header.h']]],
4 | ['q_5fphidot',['Q_phidot',['../master__header_8h.html#a08ad8530b9c9ef662785ff497e7b3ab7',1,'master_header.h']]],
5 | ['q_5fpsi',['Q_psi',['../master__header_8h.html#aff197441004c733c594cc8174c7d41e0',1,'master_header.h']]],
6 | ['q_5fpsidot',['Q_psidot',['../master__header_8h.html#a21741bca17404f81bbddb13e215e5222',1,'master_header.h']]],
7 | ['q_5ftheta',['Q_theta',['../master__header_8h.html#a91c8d06d7ce8da6cb65e81a1872eacd2',1,'master_header.h']]],
8 | ['q_5fthetadot',['Q_thetadot',['../master__header_8h.html#aa035ecb1f959c5a2346ffbe06477a331',1,'master_header.h']]]
9 | ];
10 |
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_15.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['x_5fphi',['x_phi',['../master__header_8h.html#a7a91c3a0b462c305623653203463ad81',1,'master_header.h']]],
4 | ['x_5fphidot',['x_phidot',['../master__header_8h.html#a769535ee025d21aada6eb7c696035ab6',1,'master_header.h']]],
5 | ['x_5fpsi',['x_psi',['../master__header_8h.html#a8952485df67da6b993e63ff4ce9f8555',1,'master_header.h']]],
6 | ['x_5fpsidot',['x_psidot',['../master__header_8h.html#a99357188eb725d9cda85ed4b9e0530a6',1,'master_header.h']]],
7 | ['x_5ftheta',['x_theta',['../master__header_8h.html#a6af0345fdd89590b194401d1602a5c6a',1,'master_header.h']]],
8 | ['x_5fthetadot',['x_thetadot',['../master__header_8h.html#a8d547193b9e8507b7519bec3cd9eb5af',1,'master_header.h']]]
9 | ];
10 |
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_f.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['q_5fphi',['Q_phi',['../master__header_8h.html#a51c0a1d016ac363ff613a8bbc9d6dd30',1,'master_header.h']]],
4 | ['q_5fphidot',['Q_phidot',['../master__header_8h.html#a08ad8530b9c9ef662785ff497e7b3ab7',1,'master_header.h']]],
5 | ['q_5fpsi',['Q_psi',['../master__header_8h.html#aff197441004c733c594cc8174c7d41e0',1,'master_header.h']]],
6 | ['q_5fpsidot',['Q_psidot',['../master__header_8h.html#a21741bca17404f81bbddb13e215e5222',1,'master_header.h']]],
7 | ['q_5ftheta',['Q_theta',['../master__header_8h.html#a91c8d06d7ce8da6cb65e81a1872eacd2',1,'master_header.h']]],
8 | ['q_5fthetadot',['Q_thetadot',['../master__header_8h.html#aa035ecb1f959c5a2346ffbe06477a331',1,'master_header.h']]]
9 | ];
10 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_3.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['d',['d',['../master_8c.html#a873684cefeb665f3d5e6b495de57fc0d',1,'d(): master.c'],['../master__header_8h.html#a873684cefeb665f3d5e6b495de57fc0d',1,'d(): master.c']]],
4 | ['data',['data',['../pressure__header_8h.html#ac698c71ea28bbc160f170afbf2faecbe',1,'pressure_header.h']]],
5 | ['dcm_5fmatrix',['DCM_MATRIX',['../imu__header_8h.html#a35bd99561dc4ca035119409241e2b5e0',1,'imu_header.h']]],
6 | ['descent_5f_5ftime',['DESCENT__TIME',['../master_8c.html#afca7e5dfc8d7935f7b389f58933bfa63',1,'master.c']]],
7 | ['dt',['dt',['../imu__funcs_8c.html#a778e38aa889751afffa2dea6b803e67a',1,'dt(): imu_funcs.c'],['../imu__header_8h.html#a778e38aa889751afffa2dea6b803e67a',1,'dt(): imu_funcs.c']]]
8 | ];
9 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_4.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['engine_5f_5fburn_5ftime',['ENGINE__BURN_TIME',['../master_8c.html#ae70c9b89889bf0bc6cfeba28ff41a8ec',1,'master.c']]],
4 | ['error_5flog',['error_log',['../master_8c.html#a0942b9a4f7a184e9d6b95901e2b9ba4f',1,'error_log(): master.c'],['../master__header_8h.html#a0942b9a4f7a184e9d6b95901e2b9ba4f',1,'error_log(): master.c']]],
5 | ['error_5flog_5fwrite_5flock',['error_log_write_lock',['../master__header_8h.html#a29a78f75123873b8cff72f6895b42d33',1,'master_header.h']]],
6 | ['error_5fmessage',['ERROR_MESSAGE',['../master__header_8h.html#a3ec78d27b90718d84fabf3573a2f0129',1,'master_header.h']]],
7 | ['eye2',['EYE2',['../imu__header_8h.html#a1a2c9eddf9882d1a6a6e51804765d276',1,'imu_header.h']]]
8 | ];
9 |
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_3.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['d',['d',['../master_8c.html#a873684cefeb665f3d5e6b495de57fc0d',1,'d(): master.c'],['../master__header_8h.html#a873684cefeb665f3d5e6b495de57fc0d',1,'d(): master.c']]],
4 | ['data',['data',['../pressure__header_8h.html#ac698c71ea28bbc160f170afbf2faecbe',1,'pressure_header.h']]],
5 | ['dcm_5fmatrix',['DCM_MATRIX',['../imu__header_8h.html#a35bd99561dc4ca035119409241e2b5e0',1,'imu_header.h']]],
6 | ['descent_5f_5ftime',['DESCENT__TIME',['../master_8c.html#afca7e5dfc8d7935f7b389f58933bfa63',1,'master.c']]],
7 | ['dt',['dt',['../imu__funcs_8c.html#a778e38aa889751afffa2dea6b803e67a',1,'dt(): imu_funcs.c'],['../imu__header_8h.html#a778e38aa889751afffa2dea6b803e67a',1,'dt(): imu_funcs.c']]]
8 | ];
9 |
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_4.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['engine_5f_5fburn_5ftime',['ENGINE__BURN_TIME',['../master_8c.html#ae70c9b89889bf0bc6cfeba28ff41a8ec',1,'master.c']]],
4 | ['error_5flog',['error_log',['../master_8c.html#a0942b9a4f7a184e9d6b95901e2b9ba4f',1,'error_log(): master.c'],['../master__header_8h.html#a0942b9a4f7a184e9d6b95901e2b9ba4f',1,'error_log(): master.c']]],
5 | ['error_5flog_5fwrite_5flock',['error_log_write_lock',['../master__header_8h.html#a29a78f75123873b8cff72f6895b42d33',1,'master_header.h']]],
6 | ['error_5fmessage',['ERROR_MESSAGE',['../master__header_8h.html#a3ec78d27b90718d84fabf3573a2f0129',1,'master_header.h']]],
7 | ['eye2',['EYE2',['../imu__header_8h.html#a1a2c9eddf9882d1a6a6e51804765d276',1,'imu_header.h']]]
8 | ];
9 |
--------------------------------------------------------------------------------
/msp430/Debug/subdir_vars.mk:
--------------------------------------------------------------------------------
1 | ################################################################################
2 | # Automatically-generated file. Do not edit!
3 | ################################################################################
4 |
5 | # Add inputs and outputs from these tool invocations to the build variables
6 | CMD_SRCS += \
7 | ../lnk_msp430g2553.cmd
8 |
9 | C_SRCS += \
10 | ../FlyARocket_GNC_MSP430_slave.c
11 |
12 | OBJS += \
13 | ./FlyARocket_GNC_MSP430_slave.obj
14 |
15 | C_DEPS += \
16 | ./FlyARocket_GNC_MSP430_slave.pp
17 |
18 | C_DEPS__QUOTED += \
19 | "FlyARocket_GNC_MSP430_slave.pp"
20 |
21 | OBJS__QUOTED += \
22 | "FlyARocket_GNC_MSP430_slave.obj"
23 |
24 | C_SRCS__QUOTED += \
25 | "../FlyARocket_GNC_MSP430_slave.c"
26 |
27 |
28 |
--------------------------------------------------------------------------------
/Doxygen/latex/la__header_8h.tex:
--------------------------------------------------------------------------------
1 | \hypertarget{la__header_8h}{\section{la\-\_\-header.\-h File Reference}
2 | \label{la__header_8h}\index{la\-\_\-header.\-h@{la\-\_\-header.\-h}}
3 | }
4 |
5 |
6 | Linear Algebra header file.
7 |
8 |
9 | \subsection*{Classes}
10 | \begin{DoxyCompactItemize}
11 | \item
12 | struct \hyperlink{structMATRIX}{M\-A\-T\-R\-I\-X}
13 | \end{DoxyCompactItemize}
14 |
15 |
16 | \subsection{Detailed Description}
17 | Linear Algebra header file. \begin{DoxyAuthor}{Author}
18 | Danylo Malyuta \href{mailto:danylo.malyuta@gmail.com}{\tt danylo.\-malyuta@gmail.\-com}
19 | \end{DoxyAuthor}
20 | \begin{DoxyVersion}{Version}
21 | 1.\-0
22 | \end{DoxyVersion}
23 | This is the header to \hyperlink{la__funcs_8c}{la\-\_\-funcs.\-c} containing necessary definitions and initializations.
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_5.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['flight_5ftype',['flight_type',['../master_8c.html#a20e25587eb43f10683bcfadd136eb9d7',1,'master.c']]],
4 | ['fpitch',['Fpitch',['../master_8c.html#a24acaae245ca32a559b504e1a1e084d9',1,'Fpitch(): master.c'],['../master__header_8h.html#a24acaae245ca32a559b504e1a1e084d9',1,'Fpitch(): master.c']]],
5 | ['fpitch_5floop',['Fpitch_loop',['../control__header_8h.html#a5f9d64e1376655f5e45ccdcd9693d485',1,'control_header.h']]],
6 | ['fyaw',['Fyaw',['../master_8c.html#a03c2e0033499a13a6e9113bec977055f',1,'Fyaw(): master.c'],['../master__header_8h.html#a03c2e0033499a13a6e9113bec977055f',1,'Fyaw(): master.c']]],
7 | ['fyaw_5floop',['Fyaw_loop',['../control__header_8h.html#ad89b391fe05f2eb23be1db12931f221d',1,'control_header.h']]]
8 | ];
9 |
--------------------------------------------------------------------------------
/msp430/targetConfigs/readme.txt:
--------------------------------------------------------------------------------
1 | The 'targetConfigs' folder contains target-configuration (.ccxml) files, automatically generated based
2 | on the device and connection settings specified in your project on the Properties > General page.
3 |
4 | Please note that in automatic target-configuration management, changes to the project's device and/or
5 | connection settings will either modify an existing or generate a new target-configuration file. Thus,
6 | if you manually edit these auto-generated files, you may need to re-apply your changes. Alternatively,
7 | you may create your own target-configuration file for this project and manage it manually. You can
8 | always switch back to automatic target-configuration management by checking the "Manage the project's
9 | target-configuration automatically" checkbox on the project's Properties > General page.
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_11.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['s',['S',['../master__header_8h.html#adbd85b44323c597c3a7a4d0a6ed49192',1,'master_header.h']]],
4 | ['satur',['satur',['../structControl__loop.html#a90ed943640ce57e399c42de9d994a55c',1,'Control_loop']]],
5 | ['spi_5f_5fread_5ftimestep',['SPI__READ_TIMESTEP',['../master_8c.html#ae4349d02b28eb32bb9153ebc5763217e',1,'SPI__READ_TIMESTEP(): master.c'],['../master__header_8h.html#ae4349d02b28eb32bb9153ebc5763217e',1,'SPI__READ_TIMESTEP(): master.c']]],
6 | ['spi_5fconfig',['SPI_config',['../pressure__header_8h.html#aa7ecd5fe5c95cd42a28dd0c0601605df',1,'pressure_header.h']]],
7 | ['spi_5fquit',['SPI_quit',['../master_8c.html#a3cbe1858f5d39f6470d8975f7d82c147',1,'SPI_quit(): master.c'],['../master__header_8h.html#a3cbe1858f5d39f6470d8975f7d82c147',1,'SPI_quit(): master.c']]]
8 | ];
9 |
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_c.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['n',['N',['../master_8c.html#a7722c8ecbb62d99aee7ce68b1752f337',1,'N(): master.c'],['../master__header_8h.html#a7722c8ecbb62d99aee7ce68b1752f337',1,'N(): master.c'],['../simplex__header_8h.html#a7722c8ecbb62d99aee7ce68b1752f337',1,'N(): simplex_header.h']]],
4 | ['new_5fmsp430_5fuart_5foptions',['new_msp430_uart_options',['../msp430__header_8h.html#ae39be3dc2442cc970ed2509c7497f6d4',1,'msp430_header.h']]],
5 | ['new_5frazor_5fuart_5foptions',['new_razor_uart_options',['../imu__header_8h.html#aa3e6767cf45ddbfec6df978d6c25b5fb',1,'imu_header.h']]],
6 | ['num_5fav_5fvars',['num_av_vars',['../imu__funcs_8c.html#a3aae9efa0336fe13c6269a2f5d7902dd',1,'num_av_vars(): imu_funcs.c'],['../imu__header_8h.html#a3aae9efa0336fe13c6269a2f5d7902dd',1,'num_av_vars(): imu_funcs.c']]]
7 | ];
8 |
--------------------------------------------------------------------------------
/msp430/targetConfigs/MSP430G2553.ccxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_c.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['n',['N',['../master_8c.html#a7722c8ecbb62d99aee7ce68b1752f337',1,'N(): master.c'],['../master__header_8h.html#a7722c8ecbb62d99aee7ce68b1752f337',1,'N(): master.c'],['../simplex__header_8h.html#a7722c8ecbb62d99aee7ce68b1752f337',1,'N(): simplex_header.h']]],
4 | ['new_5fmsp430_5fuart_5foptions',['new_msp430_uart_options',['../msp430__header_8h.html#ae39be3dc2442cc970ed2509c7497f6d4',1,'msp430_header.h']]],
5 | ['new_5frazor_5fuart_5foptions',['new_razor_uart_options',['../imu__header_8h.html#aa3e6767cf45ddbfec6df978d6c25b5fb',1,'imu_header.h']]],
6 | ['nmax',['NMAX',['../simplex__header_8h.html#a5de5d183f9a6a8d53316f743e1ca6dc2',1,'simplex_header.h']]],
7 | ['num_5fav_5fvars',['num_av_vars',['../imu__funcs_8c.html#a3aae9efa0336fe13c6269a2f5d7902dd',1,'num_av_vars(): imu_funcs.c'],['../imu__header_8h.html#a3aae9efa0336fe13c6269a2f5d7902dd',1,'num_av_vars(): imu_funcs.c']]]
8 | ];
9 |
--------------------------------------------------------------------------------
/msp430/_project:
--------------------------------------------------------------------------------
1 |
2 |
3 | FlyARocket_GNC_MSP430_slave
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.cdt.managedbuilder.core.genmakebuilder
10 |
11 |
12 |
13 |
14 | org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder
15 | full,incremental,
16 |
17 |
18 |
19 |
20 |
21 | com.ti.ccstudio.core.ccsNature
22 | org.eclipse.cdt.core.cnature
23 | org.eclipse.cdt.managedbuilder.core.managedBuildNature
24 | org.eclipse.cdt.core.ccnature
25 | org.eclipse.cdt.managedbuilder.core.ScannerConfigNature
26 |
27 |
28 |
--------------------------------------------------------------------------------
/msp430/Debug/subdir_rules.mk:
--------------------------------------------------------------------------------
1 | ################################################################################
2 | # Automatically-generated file. Do not edit!
3 | ################################################################################
4 |
5 | # Each subdirectory must supply rules for building sources it contributes
6 | FlyARocket_GNC_MSP430_slave.obj: ../FlyARocket_GNC_MSP430_slave.c $(GEN_OPTS) $(GEN_HDRS)
7 | @echo 'Building file: $<'
8 | @echo 'Invoking: MSP430 Compiler'
9 | "C:/ti/ccsv6/tools/compiler/ti-cgt-msp430_4.4.3/bin/cl430" -vmsp --abi=eabi --use_hw_mpy=none --include_path="C:/ti/ccsv6/ccs_base/msp430/include" --include_path="C:/ti/ccsv6/tools/compiler/ti-cgt-msp430_4.4.3/include" --advice:power=all -g --define=__MSP430G2553__ --diag_warning=225 --display_error_number --diag_wrap=off --printf_support=minimal --preproc_with_compile --preproc_dependency="FlyARocket_GNC_MSP430_slave.pp" $(GEN_OPTS__FLAG) "$<"
10 | @echo 'Finished building: $<'
11 | @echo ' '
12 |
13 |
14 |
--------------------------------------------------------------------------------
/la_header.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file la_header.h
3 | * @author Danylo Malyuta
4 | * @version 1.0
5 | *
6 | * @brief Linear Algebra header file.
7 | *
8 | * This is the header to la_funcs.c containing necessary definitions and
9 | * initializations.
10 | */
11 |
12 | #ifndef LA_HEADER_H_
13 | #define LA_HEADER_H_
14 |
15 | /**
16 | * @struct MATRIX
17 | * This is the structure for a Matrix.
18 | */
19 | struct MATRIX {
20 | size_t rows; ///< Number of rows
21 | size_t cols; ///< Number of columns
22 | float **matrix; ///< The dynamic 2D array
23 | };
24 |
25 | /** @cond INCLUDE_WITH_DOXYGEN */
26 | struct MATRIX initMatrix(size_t rows, size_t cols);
27 | struct MATRIX mmultiply(struct MATRIX A, struct MATRIX B);
28 | struct MATRIX minverse_1x1 (struct MATRIX A);
29 | struct MATRIX transpose(struct MATRIX A);
30 | struct MATRIX madd(struct MATRIX A,struct MATRIX B);
31 | struct MATRIX msubtract(struct MATRIX A,struct MATRIX B);
32 | /** @endcond */
33 |
34 | #endif /* LA_HEADER_H_ */
35 |
--------------------------------------------------------------------------------
/Doxygen/latex/structstruct.tex:
--------------------------------------------------------------------------------
1 | \hypertarget{structstruct}{\section{struct Struct Reference}
2 | \label{structstruct}\index{struct@{struct}}
3 | }
4 |
5 |
6 | \subsection{Detailed Description}
7 | This structure contains all info necessary to communicate with and to interpret incoming data from the Honeywell H\-S\-C sensors. Please refer to the \href{http://sensing.honeywell.com/honeywell-sensing-trustability-hsc-series-high-accuracy-board-mount-pressure-sensors-50099148-a-en.pdf}{\tt datasheet} and \href{http://sensing.honeywell.com/spi-comms-digital-ouptu-pressure-sensors-tn-008202-3-en-final-30may12.pdf}{\tt Honeywell S\-P\-I companion} for info on parameters like \#\-P\-\_\-\-\_\-\-O\-U\-T\-\_\-\-M\-A\-X, \#\-P\-\_\-\-O\-U\-T\-\_\-\-\_\-\-M\-I\-N, etc. Note that the specific pressure sensors that we use are\-: H\-S\-C D L\-N N 100\-M\-D S A 5.
8 |
9 | The documentation for this struct was generated from the following file\-:\begin{DoxyCompactItemize}
10 | \item
11 | \hyperlink{pressure__header_8h}{pressure\-\_\-header.\-h}\end{DoxyCompactItemize}
12 |
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_2.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['c_5fkalman',['C_kalman',['../master__header_8h.html#a0b2be3ffe13cc12db829a2f5d74c1437',1,'master_header.h']]],
4 | ['calib_5f_5ftime',['CALIB__TIME',['../imu__header_8h.html#a0d2de52d42f8a27829b87641927ff93f',1,'CALIB__TIME(): master.c'],['../master_8c.html#a0d2de52d42f8a27829b87641927ff93f',1,'CALIB__TIME(): master.c']]],
5 | ['cols',['cols',['../structMATRIX.html#abed4f2973053f5090c9ae3a4fe7e00d7',1,'MATRIX']]],
6 | ['control_5f_5ftime_5fstep',['CONTROL__TIME_STEP',['../master_8c.html#ad65316b8093332d3801f420bc1edfd3e',1,'master.c']]],
7 | ['control_5flog',['control_log',['../master_8c.html#ae06637938d6d98b3460b9a9fc04ca510',1,'control_log(): master.c'],['../master__header_8h.html#ae06637938d6d98b3460b9a9fc04ca510',1,'control_log(): master.c']]],
8 | ['control_5fquit',['Control_quit',['../master__header_8h.html#a683306c600ef5cbf03bdc97f0f190007',1,'master_header.h']]],
9 | ['control_5frange',['control_range',['../structControl__loop.html#a356d69d54de1f56c81ebd3fa7f68ddc6',1,'Control_loop']]]
10 | ];
11 |
--------------------------------------------------------------------------------
/Doxygen/html/search/functions_a.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['search_5fpwm',['search_PWM',['../master__funcs_8c.html#aae7594d7909a61de28722b124378a837',1,'master_funcs.c']]],
4 | ['set_5fnew_5fattr',['set_new_attr',['../imu__funcs_8c.html#ab43fd2629dea282222c48fc720df4517',1,'imu_funcs.c']]],
5 | ['set_5fto_5fblocking',['set_to_blocking',['../imu__funcs_8c.html#acff6f9de3e5075f5b3e6c2806651e446',1,'imu_funcs.c']]],
6 | ['simp1',['simp1',['../simplex__funcs_8c.html#abdfdf17d70ce804cbe516d53e96d46c1',1,'simplex_funcs.c']]],
7 | ['simp2',['simp2',['../simplex__funcs_8c.html#abd093efccc7043e24678e422adf3164a',1,'simplex_funcs.c']]],
8 | ['simp3',['simp3',['../simplex__funcs_8c.html#a6313a32f2829cfab13fa7bd1fd237c44',1,'simplex_funcs.c']]],
9 | ['simplx',['simplx',['../simplex__funcs_8c.html#a32ea4090b3d243790c8d473697de44bd',1,'simplex_funcs.c']]],
10 | ['startvideo',['startVideo',['../spycam__funcs_8c.html#a58f674016d08977cecd1230c77ddb9e2',1,'spycam_funcs.c']]],
11 | ['stopvideo',['stopVideo',['../spycam__funcs_8c.html#a97c176c16888bfc4594e7296faf58910',1,'spycam_funcs.c']]]
12 | ];
13 |
--------------------------------------------------------------------------------
/Doxygen/latex/structLQR__control__loop.tex:
--------------------------------------------------------------------------------
1 | \hypertarget{structLQR__control__loop}{\section{L\-Q\-R\-\_\-control\-\_\-loop Struct Reference}
2 | \label{structLQR__control__loop}\index{L\-Q\-R\-\_\-control\-\_\-loop@{L\-Q\-R\-\_\-control\-\_\-loop}}
3 | }
4 | \subsection*{Public Attributes}
5 | \begin{DoxyCompactItemize}
6 | \item
7 | \hypertarget{structLQR__control__loop_a2931b4d0886bd656eb4e0cc05d09e061}{float {\bfseries K}}\label{structLQR__control__loop_a2931b4d0886bd656eb4e0cc05d09e061}
8 |
9 | \item
10 | \hypertarget{structLQR__control__loop_a92243d19c31accb79b0f3496ed8d099d}{float {\bfseries satur}}\label{structLQR__control__loop_a92243d19c31accb79b0f3496ed8d099d}
11 |
12 | \item
13 | \hypertarget{structLQR__control__loop_a9bac9e16e10445cbce605332be22ae99}{float {\bfseries control\-\_\-range}}\label{structLQR__control__loop_a9bac9e16e10445cbce605332be22ae99}
14 |
15 | \end{DoxyCompactItemize}
16 |
17 |
18 | The documentation for this struct was generated from the following file\-:\begin{DoxyCompactItemize}
19 | \item
20 | \hyperlink{master__header_8h}{master\-\_\-header.\-h}\end{DoxyCompactItemize}
21 |
--------------------------------------------------------------------------------
/Doxygen/latex/spycam__header_8h.tex:
--------------------------------------------------------------------------------
1 | \hypertarget{spycam__header_8h}{\section{spycam\-\_\-header.\-h File Reference}
2 | \label{spycam__header_8h}\index{spycam\-\_\-header.\-h@{spycam\-\_\-header.\-h}}
3 | }
4 |
5 |
6 | Raspberry Pi spy camera header file.
7 |
8 |
9 | \subsection*{Variables}
10 | \begin{DoxyCompactItemize}
11 | \item
12 | \hypertarget{spycam__header_8h_ae0d46a978d5cd6707411f276ad869b9c}{pid\-\_\-t \hyperlink{spycam__header_8h_ae0d46a978d5cd6707411f276ad869b9c}{pid}}\label{spycam__header_8h_ae0d46a978d5cd6707411f276ad869b9c}
13 |
14 | \begin{DoxyCompactList}\small\item\em Process I\-D variable for the Raspberry Pi spy camera video recording. \end{DoxyCompactList}\end{DoxyCompactItemize}
15 |
16 |
17 | \subsection{Detailed Description}
18 | Raspberry Pi spy camera header file. \begin{DoxyAuthor}{Author}
19 | Danylo Malyuta \href{mailto:danylo.malyuta@gmail.com}{\tt danylo.\-malyuta@gmail.\-com}
20 | \end{DoxyAuthor}
21 | \begin{DoxyVersion}{Version}
22 | 1.\-0
23 | \end{DoxyVersion}
24 | This is the header to \hyperlink{spycam__funcs_8c}{spycam\-\_\-funcs.\-c} containing necessary function and variable declarations.
--------------------------------------------------------------------------------
/Doxygen/html/search/all_0.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_1.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_3.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_4.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_5.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_6.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_7.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_8.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_9.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_a.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_b.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_c.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_d.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_e.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_f.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_10.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_11.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_12.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_13.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_14.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_15.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_16.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_17.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_18.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/files_0.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/files_1.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/files_2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/files_3.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/files_4.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/files_5.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/files_6.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/pages_0.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/classes_0.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/classes_1.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/classes_2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/classes_3.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/defines_0.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/defines_1.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/defines_2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/defines_3.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/defines_4.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/defines_5.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/defines_6.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/typedefs_0.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/functions_0.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/functions_1.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/functions_2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/functions_3.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/functions_4.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/functions_5.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/functions_6.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/functions_7.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/functions_8.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/functions_9.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/functions_a.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/functions_b.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/functions_c.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/functions_d.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_0.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_1.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_10.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_11.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_12.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_13.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_14.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_15.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_16.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_17.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_3.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_4.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_5.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_6.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_7.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_8.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_9.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_a.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_b.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_c.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_d.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_e.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_f.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2015 DanyloMalyuta
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
23 |
--------------------------------------------------------------------------------
/msp430/Debug/FlyARocket_GNC_MSP430_slave.pp:
--------------------------------------------------------------------------------
1 | # FIXED
2 |
3 | FlyARocket_GNC_MSP430_slave.obj: ../FlyARocket_GNC_MSP430_slave.c
4 | FlyARocket_GNC_MSP430_slave.obj: C:/ti/ccsv6/ccs_base/msp430/include/msp430g2553.h
5 | FlyARocket_GNC_MSP430_slave.obj: C:/ti/ccsv6/ccs_base/msp430/include/in430.h
6 | FlyARocket_GNC_MSP430_slave.obj: C:/ti/ccsv6/tools/compiler/ti-cgt-msp430_4.4.3/include/intrinsics.h
7 | FlyARocket_GNC_MSP430_slave.obj: C:/ti/ccsv6/tools/compiler/ti-cgt-msp430_4.4.3/include/intrinsics_legacy_undefs.h
8 | FlyARocket_GNC_MSP430_slave.obj: C:/ti/ccsv6/tools/compiler/ti-cgt-msp430_4.4.3/include/string.h
9 | FlyARocket_GNC_MSP430_slave.obj: C:/ti/ccsv6/tools/compiler/ti-cgt-msp430_4.4.3/include/linkage.h
10 |
11 | ../FlyARocket_GNC_MSP430_slave.c:
12 | C:/ti/ccsv6/ccs_base/msp430/include/msp430g2553.h:
13 | C:/ti/ccsv6/ccs_base/msp430/include/in430.h:
14 | C:/ti/ccsv6/tools/compiler/ti-cgt-msp430_4.4.3/include/intrinsics.h:
15 | C:/ti/ccsv6/tools/compiler/ti-cgt-msp430_4.4.3/include/intrinsics_legacy_undefs.h:
16 | C:/ti/ccsv6/tools/compiler/ti-cgt-msp430_4.4.3/include/string.h:
17 | C:/ti/ccsv6/tools/compiler/ti-cgt-msp430_4.4.3/include/linkage.h:
18 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_6.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['get_5ffiltered_5fattitude_5fparallel',['get_filtered_attitude_parallel',['../imu__funcs_8c.html#a819d365851c5396da5453c27c37af71b',1,'imu_funcs.c']]],
4 | ['get_5fold_5fattr',['get_old_attr',['../imu__funcs_8c.html#af0de4ccb0965284af856630060f952ff',1,'imu_funcs.c']]],
5 | ['get_5freadings_5fspi_5fparallel',['get_readings_SPI_parallel',['../pressure__funcs_8c.html#a6c8634a0f37e059edc662324a919c39e',1,'pressure_funcs.c']]],
6 | ['get_5fsimplex_5fsolution',['get_simplex_solution',['../simplex__funcs_8c.html#a01b1cf65d8b2a0515866249c8c26ee94',1,'simplex_funcs.c']]],
7 | ['global_5f_5ftime_5fstartpoint',['GLOBAL__TIME_STARTPOINT',['../master__header_8h.html#ac252c85bbad7e441650702547296055d',1,'master_header.h']]],
8 | ['gpio',['gpio',['../master_8c.html#a9181fa0a34f8c0ed9983a6088fa1de19',1,'gpio(): master.c'],['../rpi__gpio__header_8h.html#a9181fa0a34f8c0ed9983a6088fa1de19',1,'gpio(): master.c']]],
9 | ['gpio_5fbase',['GPIO_BASE',['../rpi__gpio__header_8h.html#acce3b8a909ed8b957b4e411dfb7cbd91',1,'rpi_gpio_header.h']]],
10 | ['gpio_5fread',['GPIO_READ',['../rpi__gpio__header_8h.html#a1b3cfde4a8e61549b9056e961d0c636f',1,'rpi_gpio_header.h']]]
11 | ];
12 |
--------------------------------------------------------------------------------
/MATLAB/valve_curve.m:
--------------------------------------------------------------------------------
1 | % Generate the curve necessary for valve PWM
2 |
3 | img = imread('./images/curve.png');
4 |
5 | VALVE__MAX_THRUST=0.5; % [N]
6 |
7 | % Flip the image upside down before showing it
8 | imagesc([0 127], [0 VALVE__MAX_THRUST], flipud(img));
9 |
10 | % NOTE: if your image is RGB, you should use flipdim(img, 1) instead of flipud.
11 |
12 | % set the y-axis back to normal.
13 | set(gca,'ydir','normal');
14 |
15 | [x,y] = ginput;
16 |
17 | y(1)=0;
18 | y(end)=VALVE__MAX_THRUST;
19 |
20 | x(end)=127;
21 |
22 | b=x(end);
23 | a=x(1);
24 | x=(x-a)./(b-a)*b; % Rescale the PWM values to a 0-127 scale (7 bits)
25 |
26 | % Now display the C code to copy-paste into GNC software
27 |
28 | fprintf('# define VALVE_CHARAC_RESOLUTION %d\n',length(x));
29 | fprintf('unsigned int PWM_valve_charac[VALVE_CHARAC_RESOLUTION] = {');
30 |
31 | for ii=1:length(x)
32 | if ii==1
33 | fprintf('%u',round(x(ii)));
34 | else
35 | fprintf(',%u',round(x(ii)));
36 | end
37 | end
38 |
39 | fprintf('};\n');
40 |
41 | fprintf('double R_valve_charac[VALVE_CHARAC_RESOLUTION] = {');
42 |
43 | for ii=1:length(y)
44 | if ii==1
45 | fprintf('%.4f',y(ii));
46 | else
47 | fprintf(',%.4f',y(ii));
48 | end
49 | end
50 |
51 | fprintf('};\n');
52 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_5.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['find_5fraw_5feuler_5fangular_5fvelocities',['Find_raw_Euler_angular_velocities',['../imu__funcs_8c.html#a0f46701132540ff5241c276a19f7b38d',1,'imu_funcs.c']]],
4 | ['flight_5ftype',['flight_type',['../master_8c.html#a20e25587eb43f10683bcfadd136eb9d7',1,'master.c']]],
5 | ['fpitch',['Fpitch',['../master_8c.html#a24acaae245ca32a559b504e1a1e084d9',1,'Fpitch(): master.c'],['../master__header_8h.html#a24acaae245ca32a559b504e1a1e084d9',1,'Fpitch(): master.c']]],
6 | ['fpitch_5floop',['Fpitch_loop',['../control__header_8h.html#a5f9d64e1376655f5e45ccdcd9693d485',1,'control_header.h']]],
7 | ['fpitch_5floop_5fcontrol_5fsetup',['Fpitch_loop_control_setup',['../control__funcs_8c.html#a61112075a4a85516d83e6a5783195f6a',1,'control_funcs.c']]],
8 | ['fyaw',['Fyaw',['../master_8c.html#a03c2e0033499a13a6e9113bec977055f',1,'Fyaw(): master.c'],['../master__header_8h.html#a03c2e0033499a13a6e9113bec977055f',1,'Fyaw(): master.c']]],
9 | ['fyaw_5floop',['Fyaw_loop',['../control__header_8h.html#ad89b391fe05f2eb23be1db12931f221d',1,'control_header.h']]],
10 | ['fyaw_5floop_5fcontrol_5fsetup',['Fyaw_loop_control_setup',['../control__funcs_8c.html#a7ae1b1a2260fb4f478a16bfbef58a40c',1,'control_funcs.c']]],
11 | ['flyarocket_5fgnc',['FlyARocket_GNC',['../md_README.html',1,'']]]
12 | ];
13 |
--------------------------------------------------------------------------------
/Doxygen/html/search/functions_6.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['madd',['madd',['../la__funcs_8c.html#a6c3e092b2445211a9ca544e4da90ccf8',1,'la_funcs.c']]],
4 | ['main',['main',['../master_8c.html#a840291bc02cba5474a4cb46a9b9566fe',1,'master.c']]],
5 | ['map_5fperipheral',['map_peripheral',['../rpi__gpio__funcs_8c.html#ad3bdaca79a25f350a4b4ffb8304520d0',1,'rpi_gpio_funcs.c']]],
6 | ['min_5fof_5fset',['min_of_set',['../imu__funcs_8c.html#a284639531ae985a2c56847c4b4d3c941',1,'imu_funcs.c']]],
7 | ['minverse_5f1x1',['minverse_1x1',['../la__funcs_8c.html#a61401811bbbe522066985489991570f5',1,'la_funcs.c']]],
8 | ['mmultiply',['mmultiply',['../la__funcs_8c.html#aba2709cb4dca22f57d0aa98c6de62164',1,'la_funcs.c']]],
9 | ['mroll_5floop_5fcontrol_5fsetup',['Mroll_loop_control_setup',['../control__funcs_8c.html#a96c5ad1205f723d2600471fd9962144b',1,'control_funcs.c']]],
10 | ['msp430_5fuart_5freceive',['MSP430_UART_receive',['../msp430__funcs_8c.html#a37c1f83aba04ac0ce28faf5ba3b537a5',1,'msp430_funcs.c']]],
11 | ['msp430_5fuart_5fwrite',['MSP430_UART_write',['../msp430__funcs_8c.html#a33738ffa4af6e11695b247aee563b6f5',1,'msp430_funcs.c']]],
12 | ['msp430_5fuart_5fwrite_5fpwm',['MSP430_UART_write_PWM',['../msp430__funcs_8c.html#a8efdf02df6574899acd7b8634f8f4007',1,'msp430_funcs.c']]],
13 | ['msubtract',['msubtract',['../la__funcs_8c.html#acbf340d949fa4be6dd552e38eaceece3',1,'la_funcs.c']]]
14 | ];
15 |
--------------------------------------------------------------------------------
/msp430_header.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file msp430_header.h
3 | * @author Danylo Malyuta
4 | * @version 1.0
5 | *
6 | * @brief MSP430 header file
7 | *
8 | * This is the header to msp430_funcs.c containing necessary definitions and
9 | * initializations.
10 | */
11 |
12 | #ifndef MSP430_HEADER_H_
13 | #define MSP430_HEADER_H_
14 |
15 | # define MSP430_MAX_BUFFER 1 ///< Buffer size for receving messages from MSP430 (just '!' so 1 byte buffer is used)
16 |
17 | char MSP430_RX[MSP430_MAX_BUFFER]; ///< Buffer holding received values via UART from Razor IMU
18 | int MSP430_UART; ///< Holds Razor IMU connection file
19 | char MSP430_reply_string; ///< String holding the MSP430 reply
20 | unsigned char PWM_TX_packet[6]; ///< Packet of 1 byte for "#" and 5 bytes containing the 4 PWM values, to send to MSP430
21 |
22 | struct termios new_msp430_uart_options; ///< The new options we set for communicating the the MSP430 UART after opening it.
23 | struct termios old_msp430_uart_options; ///< The old options we save after opening the MSP430 UART connection; we restitute them before closing the connection at the end of the program.
24 |
25 | /** @cond INCLUDE_WITH_DOXYGEN */
26 | void MSP430_UART_receive();
27 | void MSP430_UART_write(char MSP430_TX[3]);
28 | void MSP430_UART_write_PWM(unsigned int PWM1, unsigned int PWM2,unsigned int PWM3,unsigned int PWM4);
29 | /** @endcond */
30 |
31 | #endif /* MSP430_HEADER_H_ */
32 |
--------------------------------------------------------------------------------
/Doxygen/html/tabs.css:
--------------------------------------------------------------------------------
1 | .tabs, .tabs2, .tabs3 {
2 | background-image: url('tab_b.png');
3 | width: 100%;
4 | z-index: 101;
5 | font-size: 13px;
6 | font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
7 | }
8 |
9 | .tabs2 {
10 | font-size: 10px;
11 | }
12 | .tabs3 {
13 | font-size: 9px;
14 | }
15 |
16 | .tablist {
17 | margin: 0;
18 | padding: 0;
19 | display: table;
20 | }
21 |
22 | .tablist li {
23 | float: left;
24 | display: table-cell;
25 | background-image: url('tab_b.png');
26 | line-height: 36px;
27 | list-style: none;
28 | }
29 |
30 | .tablist a {
31 | display: block;
32 | padding: 0 20px;
33 | font-weight: bold;
34 | background-image:url('tab_s.png');
35 | background-repeat:no-repeat;
36 | background-position:right;
37 | color: #283A5D;
38 | text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
39 | text-decoration: none;
40 | outline: none;
41 | }
42 |
43 | .tabs3 .tablist a {
44 | padding: 0 10px;
45 | }
46 |
47 | .tablist a:hover {
48 | background-image: url('tab_h.png');
49 | background-repeat:repeat-x;
50 | color: #fff;
51 | text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
52 | text-decoration: none;
53 | }
54 |
55 | .tablist li.current a {
56 | background-image: url('tab_a.png');
57 | background-repeat:repeat-x;
58 | color: #fff;
59 | text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
60 | }
61 |
--------------------------------------------------------------------------------
/Doxygen/latex/structMATRIX.tex:
--------------------------------------------------------------------------------
1 | \hypertarget{structMATRIX}{\section{M\-A\-T\-R\-I\-X Struct Reference}
2 | \label{structMATRIX}\index{M\-A\-T\-R\-I\-X@{M\-A\-T\-R\-I\-X}}
3 | }
4 |
5 |
6 | {\ttfamily \#include $<$la\-\_\-header.\-h$>$}
7 |
8 | \subsection*{Public Attributes}
9 | \begin{DoxyCompactItemize}
10 | \item
11 | \hypertarget{structMATRIX_a35aca49172760dc3ebfd87cfb09c640e}{size\-\_\-t \hyperlink{structMATRIX_a35aca49172760dc3ebfd87cfb09c640e}{rows}}\label{structMATRIX_a35aca49172760dc3ebfd87cfb09c640e}
12 |
13 | \begin{DoxyCompactList}\small\item\em Number of rows. \end{DoxyCompactList}\item
14 | \hypertarget{structMATRIX_abed4f2973053f5090c9ae3a4fe7e00d7}{size\-\_\-t \hyperlink{structMATRIX_abed4f2973053f5090c9ae3a4fe7e00d7}{cols}}\label{structMATRIX_abed4f2973053f5090c9ae3a4fe7e00d7}
15 |
16 | \begin{DoxyCompactList}\small\item\em Number of columns. \end{DoxyCompactList}\item
17 | \hypertarget{structMATRIX_a1b56eebd963b3128d1ed05eaabb73362}{float $\ast$$\ast$ \hyperlink{structMATRIX_a1b56eebd963b3128d1ed05eaabb73362}{matrix}}\label{structMATRIX_a1b56eebd963b3128d1ed05eaabb73362}
18 |
19 | \begin{DoxyCompactList}\small\item\em The dynamic 2\-D array. \end{DoxyCompactList}\end{DoxyCompactItemize}
20 |
21 |
22 | \subsection{Detailed Description}
23 | This is the structure for a Matrix.
24 |
25 | The documentation for this struct was generated from the following file\-:\begin{DoxyCompactItemize}
26 | \item
27 | \hyperlink{la__header_8h}{la\-\_\-header.\-h}\end{DoxyCompactItemize}
28 |
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_7.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['i',['i',['../simplex__header_8h.html#acb559820d9ca11295b4500f179ef6392',1,'simplex_header.h']]],
4 | ['imu_5f_5fread_5ftimestep',['IMU__READ_TIMESTEP',['../master_8c.html#a2dad9d03b6168bcb6c69d461514a833f',1,'IMU__READ_TIMESTEP(): master.c'],['../master__header_8h.html#a2dad9d03b6168bcb6c69d461514a833f',1,'IMU__READ_TIMESTEP(): master.c']]],
5 | ['imu_5flog',['imu_log',['../master_8c.html#acfbcaf4efce8ebd037ba912955853c0c',1,'imu_log(): master.c'],['../master__header_8h.html#acfbcaf4efce8ebd037ba912955853c0c',1,'imu_log(): master.c']]],
6 | ['imu_5fquit',['IMU_quit',['../master_8c.html#a0c2fbbcefec3fbaa9bf5405eafb92688',1,'IMU_quit(): master.c'],['../master__header_8h.html#a0c2fbbcefec3fbaa9bf5405eafb92688',1,'IMU_quit(): master.c']]],
7 | ['imu_5frx',['IMU_RX',['../imu__header_8h.html#a2895cbc2038329e796341d55445548da',1,'imu_header.h']]],
8 | ['imu_5fsynch_5freceive',['IMU_SYNCH_RECEIVE',['../imu__header_8h.html#afac0e6e6b89425f5757ea390ace2dc45',1,'imu_header.h']]],
9 | ['imu_5fsynched',['IMU_SYNCHED',['../imu__funcs_8c.html#a6c481df42c58e76b93d7b2dfb1f9c85f',1,'IMU_SYNCHED(): imu_funcs.c'],['../master__header_8h.html#a6c481df42c58e76b93d7b2dfb1f9c85f',1,'IMU_SYNCHED(): imu_funcs.c']]],
10 | ['imu_5ftx',['IMU_TX',['../imu__funcs_8c.html#a26f3dd4d2fa4736feb9aac7f5c68aa9a',1,'IMU_TX(): imu_funcs.c'],['../imu__header_8h.html#a26f3dd4d2fa4736feb9aac7f5c68aa9a',1,'IMU_TX(): imu_funcs.c']]],
11 | ['inn',['inn',['../master__header_8h.html#a987ede4096fe3a3e1e159f0690167ef4',1,'master_header.h']]]
12 | ];
13 |
--------------------------------------------------------------------------------
/control_funcs.c:
--------------------------------------------------------------------------------
1 | /**
2 | * @file control_funcs.c
3 | * @author Danylo Malyuta
4 | * @version 1.0
5 | *
6 | * @brief Control functions source file.
7 | *
8 | * This file contains functions regarding the control algorithm.
9 | */
10 |
11 | # include
12 | # include
13 | # include "master_header.h"
14 | # include "control_header.h"
15 |
16 | double VALVE__MAX_THRUST=0.36; ///< Maximum thrust of RCS solenoid valves (i.e. when fully opened)
17 |
18 | /**
19 | * @fn void Fpitch_loop_control_setup()
20 | * This function setups up all control parameters relating to the pitch control.
21 | */
22 | void Fpitch_loop_control_setup() {
23 | Fpitch_loop.satur = 0; // We do not use a derivative term in roll rate control
24 | Fpitch_loop.control_range = 0; // We do not use a derivative term in roll rate control
25 | Fpitch_loop.K = 5;
26 | Fpitch_loop.Td = 3;
27 | }
28 |
29 | /**
30 | * @fn void Fyaw_loop_control_setup()
31 | * This function sets up all control parameters relating to the yaw control.
32 | */
33 | void Fyaw_loop_control_setup() {
34 | Fyaw_loop.satur = 0; // We do not use a derivative term in roll rate control
35 | Fyaw_loop.control_range = 0; // We do not use a derivative term in roll rate control
36 | Fyaw_loop.K = 5;
37 | Fyaw_loop.Td = 3;
38 | }
39 |
40 | /**
41 | * @fn void Mroll_loop_control_setup()
42 | * This function sets up all control parameters relating to the roll control.
43 | */
44 | void Mroll_loop_control_setup() {
45 | Mroll_loop.satur = 2*d*VALVE__MAX_THRUST;
46 | Mroll_loop.control_range = 100*M_PI/180; // [rad/s]
47 | Mroll_loop.K = Mroll_loop.satur/Mroll_loop.control_range;
48 | Mroll_loop.Td = 0; // We do not use a derivative term in roll rate control
49 | }
50 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_2.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['c_5fkalman',['C_kalman',['../master__header_8h.html#a0b2be3ffe13cc12db829a2f5d74c1437',1,'master_header.h']]],
4 | ['calib_5f_5ftime',['CALIB__TIME',['../imu__header_8h.html#a0d2de52d42f8a27829b87641927ff93f',1,'CALIB__TIME(): master.c'],['../master_8c.html#a0d2de52d42f8a27829b87641927ff93f',1,'CALIB__TIME(): master.c']]],
5 | ['calibrate_5fimu',['Calibrate_IMU',['../imu__funcs_8c.html#ad49c526544bbd5b5b163b394bec8a65e',1,'imu_funcs.c']]],
6 | ['check_5ftime',['check_time',['../master__funcs_8c.html#a38415767eeeb2be505d4e823dc187437',1,'master_funcs.c']]],
7 | ['close_5fport',['close_port',['../imu__funcs_8c.html#ac9d43b6aaa5a79aa447df61c4fec5ffe',1,'imu_funcs.c']]],
8 | ['cols',['cols',['../structMATRIX.html#abed4f2973053f5090c9ae3a4fe7e00d7',1,'MATRIX']]],
9 | ['construct_5fzeroed_5fdcm',['construct_zeroed_DCM',['../imu__funcs_8c.html#a00994ba3854703e3e5162202f6d88971',1,'imu_funcs.c']]],
10 | ['control_5f_5ftime_5fstep',['CONTROL__TIME_STEP',['../master_8c.html#ad65316b8093332d3801f420bc1edfd3e',1,'master.c']]],
11 | ['control_5ffuncs_2ec',['control_funcs.c',['../control__funcs_8c.html',1,'']]],
12 | ['control_5fheader_2eh',['control_header.h',['../control__header_8h.html',1,'']]],
13 | ['control_5flog',['control_log',['../master_8c.html#ae06637938d6d98b3460b9a9fc04ca510',1,'control_log(): master.c'],['../master__header_8h.html#ae06637938d6d98b3460b9a9fc04ca510',1,'control_log(): master.c']]],
14 | ['control_5floop',['Control_loop',['../structControl__loop.html',1,'']]],
15 | ['control_5fquit',['Control_quit',['../master__header_8h.html#a683306c600ef5cbf03bdc97f0f190007',1,'master_header.h']]],
16 | ['control_5frange',['control_range',['../structControl__loop.html#a356d69d54de1f56c81ebd3fa7f68ddc6',1,'Control_loop']]]
17 | ];
18 |
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_12.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['td',['Td',['../structControl__loop.html#aba5fcbc8e5511269f9f53763ceb8e6dd',1,'Control_loop']]],
4 | ['temp1',['temp1',['../imu__header_8h.html#a5e005e112ca8edcc1d9b59fdfaefb7fd',1,'imu_header.h']]],
5 | ['temp2',['temp2',['../imu__header_8h.html#aa6339584cd97a77de4947d82c2bb4239',1,'imu_header.h']]],
6 | ['theta',['theta',['../imu__header_8h.html#aadfc5c227ca658a29a59a0ce6fc15792',1,'imu_header.h']]],
7 | ['theta_5fav',['theta_av',['../imu__funcs_8c.html#aa0743fc7960260ea5ff67757b31cf391',1,'theta_av(): imu_funcs.c'],['../imu__header_8h.html#aa0743fc7960260ea5ff67757b31cf391',1,'theta_av(): imu_funcs.c']]],
8 | ['theta_5fcont',['theta_cont',['../master_8c.html#a447f7a245bed6a4bf1419397a6796fe2',1,'master.c']]],
9 | ['theta_5fdot',['theta_dot',['../imu__header_8h.html#a51e2c6c20a8f3b56806383e174e348e5',1,'imu_header.h']]],
10 | ['theta_5fdot_5ffilt',['theta_dot_filt',['../imu__header_8h.html#a61999694fc798a809e7547d39f6a369c',1,'imu_header.h']]],
11 | ['theta_5ffilt',['theta_filt',['../imu__header_8h.html#abbc13db7b16483062094dfad47e30d7f',1,'imu_header.h']]],
12 | ['theta_5fref',['theta_ref',['../master_8c.html#a1998083078b172081e824577b82fef6b',1,'master.c']]],
13 | ['theta_5fsave',['theta_save',['../imu__header_8h.html#afdb68c1b2d93d741c076cef5cd1acd24',1,'imu_header.h']]],
14 | ['theta_5fsave_5flast',['theta_save_last',['../imu__funcs_8c.html#a388244ea471e5baf0e7250cdb4fea585',1,'theta_save_last(): imu_funcs.c'],['../imu__header_8h.html#a388244ea471e5baf0e7250cdb4fea585',1,'theta_save_last(): imu_funcs.c']]],
15 | ['thetadot_5fcont',['thetadot_cont',['../master_8c.html#a4393d99287a8d82b76d027263ebb2f16',1,'master.c']]],
16 | ['transfer',['transfer',['../pressure__header_8h.html#a4b81aaf60ccf7ef31d6b25171bd587bb',1,'pressure_header.h']]]
17 | ];
18 |
--------------------------------------------------------------------------------
/rpi_gpio_funcs.c:
--------------------------------------------------------------------------------
1 | /**
2 | * @file rpi_gpio_funcs.c
3 | * @author Danylo Malyuta
4 | * @version 1.0
5 | *
6 | * @brief GPIO functions file
7 | *
8 | * This file contains GPIO low-level access functions. This file is a slightly modified
9 | * version of the code provided by Pieter-Jan Van de Maele here.
10 | */
11 |
12 | # include
13 | # include "rpi_gpio_header.h"
14 |
15 | /**
16 | * @fn int map_peripheral(struct bcm2835_peripheral *p)
17 | * This function maps a GPIO port for access in the software.
18 | * Exposes the physical address defined in the passed structure using mmap on /dev/mem.
19 | *
20 | * @param p Pointer to the GPIO port structure.
21 | */
22 | int map_peripheral(struct bcm2835_peripheral *p) {
23 | // Open /dev/mem
24 | if ((p->mem_fd = open("/dev/mem", O_RDWR | O_SYNC) ) < 0) { // NB : p->mem_fd is a shortcut commad for (*p).mem_fd
25 | printf("Failed to open /dev/mem, try checking permissions.\n");
26 | return -1;
27 | }
28 |
29 | p->map = mmap(
30 | NULL,
31 | BLOCK_SIZE,
32 | PROT_READ|PROT_WRITE,
33 | MAP_SHARED,
34 | p->mem_fd, // File descriptor to physical memory virtual file '/dev/mem'
35 | p->addr_p // Address in physical map that we want this memory block to expose
36 | );
37 |
38 | if (p->map == MAP_FAILED) {
39 | perror("mmap");
40 | return -1;
41 | }
42 |
43 | p->addr = (volatile unsigned int *)p->map;
44 |
45 | return 0;
46 | }
47 |
48 | /**
49 | * @fn void unmap_peripheral(struct bcm2835_peripheral *p)
50 | * This function unmaps a GPIO port.
51 | *
52 | * @param p Pointer to the GPIO port structure.
53 | */
54 | void unmap_peripheral(struct bcm2835_peripheral *p) {
55 | munmap(p->map, BLOCK_SIZE);
56 | close(p->mem_fd);
57 | }
58 |
--------------------------------------------------------------------------------
/control_header.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file control_header.h
3 | * @author Danylo Malyuta
4 | * @version 1.0
5 | *
6 | * @brief Control header file.
7 | *
8 | * This is the header to control_funcs.c containing necessary definitions and
9 | * initializations.
10 | */
11 |
12 | #ifndef CONTROL_HEADER_H_
13 | #define CONTROL_HEADER_H_
14 |
15 | /**
16 | * @struct Control_loop
17 | * This structure holds all of the variables relating to a control loop of the GNC
18 | * algorithm. Namely, there are three such control loops used:
19 | * - For the pitch force, Fpitch
20 | * - For the yaw force, Fyaw
21 | * - For the roll moment, Mroll
22 | *
23 | * The combination of these three control loops stabilizes the rocket to point vertically up at all time
24 | */
25 | struct Control_loop {
26 | double K; ///< Proportional term coefficient
27 | double Td; ///< Derivative term coefficient
28 | double satur; ///< Absolute ceiling of possible control loop output value
29 | double control_range; ///< At what angle from the vertical orientation to we begin applying maximum control input?
30 | };
31 |
32 | /**
33 | * @name Control loop group
34 | * These structures define fully the control of the rocket - i.e. the control gains.
35 | * @{
36 | */
37 | struct Control_loop Fpitch_loop; ///< Pitch control loop, uses feedback on #theta_filt to tell what pitching corrective force we need
38 | struct Control_loop Fyaw_loop; ///< Yaw control loop, uses feedback on #psi_filt to tell what yawing corrective force we need
39 | struct Control_loop Mroll_loop; ///< Roll control loop, uses feedback on #phi_dot_filt to tell what corrective rolling moment we need
40 | /** @} */
41 |
42 | /** @cond INCLUDE_WITH_DOXYGEN */
43 | void Fpitch_loop_control_setup();
44 | void Fyaw_loop_control_setup();
45 | void Mroll_loop_control_setup();
46 | /** @endcond */
47 |
48 | #endif /* CONTROL_HEADER_H_ */
49 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_7.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['i',['i',['../simplex__header_8h.html#acb559820d9ca11295b4500f179ef6392',1,'simplex_header.h']]],
4 | ['imu_5f_5fread_5ftimestep',['IMU__READ_TIMESTEP',['../master_8c.html#a2dad9d03b6168bcb6c69d461514a833f',1,'IMU__READ_TIMESTEP(): master.c'],['../master__header_8h.html#a2dad9d03b6168bcb6c69d461514a833f',1,'IMU__READ_TIMESTEP(): master.c']]],
5 | ['imu_5ffuncs_2ec',['imu_funcs.c',['../imu__funcs_8c.html',1,'']]],
6 | ['imu_5fheader_2eh',['imu_header.h',['../imu__header_8h.html',1,'']]],
7 | ['imu_5flog',['imu_log',['../master_8c.html#acfbcaf4efce8ebd037ba912955853c0c',1,'imu_log(): master.c'],['../master__header_8h.html#acfbcaf4efce8ebd037ba912955853c0c',1,'imu_log(): master.c']]],
8 | ['imu_5fquit',['IMU_quit',['../master_8c.html#a0c2fbbcefec3fbaa9bf5405eafb92688',1,'IMU_quit(): master.c'],['../master__header_8h.html#a0c2fbbcefec3fbaa9bf5405eafb92688',1,'IMU_quit(): master.c']]],
9 | ['imu_5frx',['IMU_RX',['../imu__header_8h.html#a2895cbc2038329e796341d55445548da',1,'imu_header.h']]],
10 | ['imu_5fsynch_5freceive',['IMU_SYNCH_RECEIVE',['../imu__header_8h.html#afac0e6e6b89425f5757ea390ace2dc45',1,'imu_header.h']]],
11 | ['imu_5fsynched',['IMU_SYNCHED',['../imu__funcs_8c.html#a6c481df42c58e76b93d7b2dfb1f9c85f',1,'IMU_SYNCHED(): imu_funcs.c'],['../master__header_8h.html#a6c481df42c58e76b93d7b2dfb1f9c85f',1,'IMU_SYNCHED(): imu_funcs.c']]],
12 | ['imu_5ftx',['IMU_TX',['../imu__funcs_8c.html#a26f3dd4d2fa4736feb9aac7f5c68aa9a',1,'IMU_TX(): imu_funcs.c'],['../imu__header_8h.html#a26f3dd4d2fa4736feb9aac7f5c68aa9a',1,'IMU_TX(): imu_funcs.c']]],
13 | ['initmatrix',['initMatrix',['../la__funcs_8c.html#a3adcfc4926f7e83a7ab0df36709935cb',1,'la_funcs.c']]],
14 | ['inn',['inn',['../master__header_8h.html#a987ede4096fe3a3e1e159f0690167ef4',1,'master_header.h']]],
15 | ['inp_5fgpio',['INP_GPIO',['../rpi__gpio__header_8h.html#a03886f219aed83bfc164616c20270990',1,'rpi_gpio_header.h']]]
16 | ];
17 |
--------------------------------------------------------------------------------
/rpi_gpio_header.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file rpi_gpio_header.h
3 | * @author Danylo Malyuta
4 | * @version 1.0
5 | *
6 | * @brief MSP430 header file
7 | *
8 | * This is the header to rpi_gpio_funcs.c containing necessary definitions and
9 | * initializations. This header is a slightly reduced version (to the bare bones that
10 | * the GNC program needs) of the header provided by Pieter-Jan Van de Maele
11 | * here.
12 | */
13 |
14 | #ifndef RPI_GPIO_HEADER_H_
15 | #define RPI_GPIO_HEADER_H_
16 |
17 | # include
18 | # include
19 | # include
20 | # include
21 | # include
22 |
23 | # define BCM2708_PERI_BASE 0x20000000 ///< Physical address at which the peripheral registers start
24 | # define GPIO_BASE (BCM2708_PERI_BASE + 0x200000) ///< Address of the GPIO controller (expresset as an offset with respect to #BCM2708_PERI_BASE)
25 |
26 | # define BLOCK_SIZE (4*1024)
27 |
28 | /**
29 | * @struct bcm2835_peripheral
30 | * Holds what's needed to access the Raspberry Pi GPIO port.
31 | */
32 | struct bcm2835_peripheral {
33 | unsigned long addr_p; ///< Address in physical map that we want this memory block to expose
34 | int mem_fd; ///< File descriptor to physical memory virtual file '/dev/mem'
35 | void *map;
36 | volatile unsigned int *addr; ///< Refers to register address
37 | };
38 |
39 | extern struct bcm2835_peripheral gpio; ///< The GPIO port access variable
40 |
41 | // Always do an INP_GPIO(g) before doing an OUT_GPIO(g)
42 | # define INP_GPIO(g) *(gpio.addr + ((g)/10)) &= ~(7<<(((g)%10)*3)) ///< Set pin as input
43 | # define GPIO_READ(g) *(gpio.addr + 13) &= (1<<(g)) ///< Read an input pin's state
44 |
45 | /** @cond INCLUDE_WITH_DOXYGEN */
46 | int map_peripheral(struct bcm2835_peripheral *p);
47 | void unmap_peripheral(struct bcm2835_peripheral *p);
48 | /** @endcond */
49 |
50 | #endif /* RPI_GPIO_HEADER_H_ */
51 |
--------------------------------------------------------------------------------
/Doxygen/latex/structbcm2835__peripheral.tex:
--------------------------------------------------------------------------------
1 | \hypertarget{structbcm2835__peripheral}{\section{bcm2835\-\_\-peripheral Struct Reference}
2 | \label{structbcm2835__peripheral}\index{bcm2835\-\_\-peripheral@{bcm2835\-\_\-peripheral}}
3 | }
4 |
5 |
6 | {\ttfamily \#include $<$rpi\-\_\-gpio\-\_\-header.\-h$>$}
7 |
8 | \subsection*{Public Attributes}
9 | \begin{DoxyCompactItemize}
10 | \item
11 | \hypertarget{structbcm2835__peripheral_a972e542acd3ccb0b9a5f73aa75251b57}{unsigned long \hyperlink{structbcm2835__peripheral_a972e542acd3ccb0b9a5f73aa75251b57}{addr\-\_\-p}}\label{structbcm2835__peripheral_a972e542acd3ccb0b9a5f73aa75251b57}
12 |
13 | \begin{DoxyCompactList}\small\item\em Address in physical map that we want this memory block to expose. \end{DoxyCompactList}\item
14 | \hypertarget{structbcm2835__peripheral_a141406ce70084a329a865ac2e73db2f3}{int \hyperlink{structbcm2835__peripheral_a141406ce70084a329a865ac2e73db2f3}{mem\-\_\-fd}}\label{structbcm2835__peripheral_a141406ce70084a329a865ac2e73db2f3}
15 |
16 | \begin{DoxyCompactList}\small\item\em File descriptor to physical memory virtual file '/dev/mem'. \end{DoxyCompactList}\item
17 | \hypertarget{structbcm2835__peripheral_a8ce91c13928c404b67e1990bf4a5018b}{void $\ast$ {\bfseries map}}\label{structbcm2835__peripheral_a8ce91c13928c404b67e1990bf4a5018b}
18 |
19 | \item
20 | \hypertarget{structbcm2835__peripheral_ac33828b1b9863498b33058a4ca2985dc}{volatile unsigned int $\ast$ \hyperlink{structbcm2835__peripheral_ac33828b1b9863498b33058a4ca2985dc}{addr}}\label{structbcm2835__peripheral_ac33828b1b9863498b33058a4ca2985dc}
21 |
22 | \begin{DoxyCompactList}\small\item\em Refers to register address. \end{DoxyCompactList}\end{DoxyCompactItemize}
23 |
24 |
25 | \subsection{Detailed Description}
26 | Holds what's needed to access the Raspberry Pi G\-P\-I\-O port.
27 |
28 | The documentation for this struct was generated from the following file\-:\begin{DoxyCompactItemize}
29 | \item
30 | \hyperlink{rpi__gpio__header_8h}{rpi\-\_\-gpio\-\_\-header.\-h}\end{DoxyCompactItemize}
31 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_12.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['td',['Td',['../structControl__loop.html#aba5fcbc8e5511269f9f53763ceb8e6dd',1,'Control_loop']]],
4 | ['temp1',['temp1',['../imu__header_8h.html#a5e005e112ca8edcc1d9b59fdfaefb7fd',1,'imu_header.h']]],
5 | ['temp2',['temp2',['../imu__header_8h.html#aa6339584cd97a77de4947d82c2bb4239',1,'imu_header.h']]],
6 | ['theta',['theta',['../imu__header_8h.html#aadfc5c227ca658a29a59a0ce6fc15792',1,'imu_header.h']]],
7 | ['theta_5fav',['theta_av',['../imu__funcs_8c.html#aa0743fc7960260ea5ff67757b31cf391',1,'theta_av(): imu_funcs.c'],['../imu__header_8h.html#aa0743fc7960260ea5ff67757b31cf391',1,'theta_av(): imu_funcs.c']]],
8 | ['theta_5fcont',['theta_cont',['../master_8c.html#a447f7a245bed6a4bf1419397a6796fe2',1,'master.c']]],
9 | ['theta_5fdot',['theta_dot',['../imu__header_8h.html#a51e2c6c20a8f3b56806383e174e348e5',1,'imu_header.h']]],
10 | ['theta_5fdot_5ffilt',['theta_dot_filt',['../imu__header_8h.html#a61999694fc798a809e7547d39f6a369c',1,'imu_header.h']]],
11 | ['theta_5ffilt',['theta_filt',['../imu__header_8h.html#abbc13db7b16483062094dfad47e30d7f',1,'imu_header.h']]],
12 | ['theta_5fref',['theta_ref',['../master_8c.html#a1998083078b172081e824577b82fef6b',1,'master.c']]],
13 | ['theta_5fsave',['theta_save',['../imu__header_8h.html#afdb68c1b2d93d741c076cef5cd1acd24',1,'imu_header.h']]],
14 | ['theta_5fsave_5flast',['theta_save_last',['../imu__funcs_8c.html#a388244ea471e5baf0e7250cdb4fea585',1,'theta_save_last(): imu_funcs.c'],['../imu__header_8h.html#a388244ea471e5baf0e7250cdb4fea585',1,'theta_save_last(): imu_funcs.c']]],
15 | ['thetadot_5fcont',['thetadot_cont',['../master_8c.html#a4393d99287a8d82b76d027263ebb2f16',1,'master.c']]],
16 | ['to_5fdeg',['TO_DEG',['../imu__funcs_8c.html#a530aca183f3048a15b2018cef637d5f5',1,'imu_funcs.c']]],
17 | ['transfer',['transfer',['../pressure__header_8h.html#a4b81aaf60ccf7ef31d6b25171bd587bb',1,'pressure_header.h']]],
18 | ['transpose',['transpose',['../la__funcs_8c.html#a10c538631864f825891da97cc8dc7d5d',1,'la_funcs.c']]],
19 | ['treat_5freply',['Treat_reply',['../imu__funcs_8c.html#a20a4f75f9d2fefab9dbc656f77eeda06',1,'imu_funcs.c']]]
20 | ];
21 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_11.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['s',['S',['../master__header_8h.html#adbd85b44323c597c3a7a4d0a6ed49192',1,'master_header.h']]],
4 | ['satur',['satur',['../structControl__loop.html#a90ed943640ce57e399c42de9d994a55c',1,'Control_loop']]],
5 | ['search_5fpwm',['search_PWM',['../master__funcs_8c.html#aae7594d7909a61de28722b124378a837',1,'master_funcs.c']]],
6 | ['set_5fnew_5fattr',['set_new_attr',['../imu__funcs_8c.html#ab43fd2629dea282222c48fc720df4517',1,'imu_funcs.c']]],
7 | ['set_5fto_5fblocking',['set_to_blocking',['../imu__funcs_8c.html#acff6f9de3e5075f5b3e6c2806651e446',1,'imu_funcs.c']]],
8 | ['simp1',['simp1',['../simplex__funcs_8c.html#abdfdf17d70ce804cbe516d53e96d46c1',1,'simplex_funcs.c']]],
9 | ['simp2',['simp2',['../simplex__funcs_8c.html#abd093efccc7043e24678e422adf3164a',1,'simplex_funcs.c']]],
10 | ['simp3',['simp3',['../simplex__funcs_8c.html#a6313a32f2829cfab13fa7bd1fd237c44',1,'simplex_funcs.c']]],
11 | ['simplex_5ffuncs_2ec',['simplex_funcs.c',['../simplex__funcs_8c.html',1,'']]],
12 | ['simplex_5fheader_2eh',['simplex_header.h',['../simplex__header_8h.html',1,'']]],
13 | ['simplx',['simplx',['../simplex__funcs_8c.html#a32ea4090b3d243790c8d473697de44bd',1,'simplex_funcs.c']]],
14 | ['spi_5f_5fread_5ftimestep',['SPI__READ_TIMESTEP',['../master_8c.html#ae4349d02b28eb32bb9153ebc5763217e',1,'SPI__READ_TIMESTEP(): master.c'],['../master__header_8h.html#ae4349d02b28eb32bb9153ebc5763217e',1,'SPI__READ_TIMESTEP(): master.c']]],
15 | ['spi_5fconfig',['SPI_config',['../pressure__header_8h.html#aa7ecd5fe5c95cd42a28dd0c0601605df',1,'pressure_header.h']]],
16 | ['spi_5fdata',['SPI_data',['../structSPI__data.html',1,'']]],
17 | ['spi_5fquit',['SPI_quit',['../master_8c.html#a3cbe1858f5d39f6470d8975f7d82c147',1,'SPI_quit(): master.c'],['../master__header_8h.html#a3cbe1858f5d39f6470d8975f7d82c147',1,'SPI_quit(): master.c']]],
18 | ['spycam_5ffuncs_2ec',['spycam_funcs.c',['../spycam__funcs_8c.html',1,'']]],
19 | ['spycam_5fheader_2eh',['spycam_header.h',['../spycam__header_8h.html',1,'']]],
20 | ['startvideo',['startVideo',['../spycam__funcs_8c.html#a58f674016d08977cecd1230c77ddb9e2',1,'spycam_funcs.c']]],
21 | ['stopvideo',['stopVideo',['../spycam__funcs_8c.html#a97c176c16888bfc4594e7296faf58910',1,'spycam_funcs.c']]]
22 | ];
23 |
--------------------------------------------------------------------------------
/Doxygen/latex/structControl__loop.tex:
--------------------------------------------------------------------------------
1 | \hypertarget{structControl__loop}{\section{Control\-\_\-loop Struct Reference}
2 | \label{structControl__loop}\index{Control\-\_\-loop@{Control\-\_\-loop}}
3 | }
4 |
5 |
6 | {\ttfamily \#include $<$control\-\_\-header.\-h$>$}
7 |
8 | \subsection*{Public Attributes}
9 | \begin{DoxyCompactItemize}
10 | \item
11 | \hypertarget{structControl__loop_ac3aed43dcaf03d086e69ab794f1959f4}{double \hyperlink{structControl__loop_ac3aed43dcaf03d086e69ab794f1959f4}{K}}\label{structControl__loop_ac3aed43dcaf03d086e69ab794f1959f4}
12 |
13 | \begin{DoxyCompactList}\small\item\em Proportional term coefficient. \end{DoxyCompactList}\item
14 | \hypertarget{structControl__loop_aba5fcbc8e5511269f9f53763ceb8e6dd}{double \hyperlink{structControl__loop_aba5fcbc8e5511269f9f53763ceb8e6dd}{Td}}\label{structControl__loop_aba5fcbc8e5511269f9f53763ceb8e6dd}
15 |
16 | \begin{DoxyCompactList}\small\item\em Derivative term coefficient. \end{DoxyCompactList}\item
17 | \hypertarget{structControl__loop_a90ed943640ce57e399c42de9d994a55c}{double \hyperlink{structControl__loop_a90ed943640ce57e399c42de9d994a55c}{satur}}\label{structControl__loop_a90ed943640ce57e399c42de9d994a55c}
18 |
19 | \begin{DoxyCompactList}\small\item\em Absolute ceiling of possible control loop output value. \end{DoxyCompactList}\item
20 | \hypertarget{structControl__loop_a356d69d54de1f56c81ebd3fa7f68ddc6}{double \hyperlink{structControl__loop_a356d69d54de1f56c81ebd3fa7f68ddc6}{control\-\_\-range}}\label{structControl__loop_a356d69d54de1f56c81ebd3fa7f68ddc6}
21 |
22 | \begin{DoxyCompactList}\small\item\em At what angle from the vertical orientation to we begin applying maximum control input? \end{DoxyCompactList}\end{DoxyCompactItemize}
23 |
24 |
25 | \subsection{Detailed Description}
26 | This structure holds all of the variables relating to a control loop of the G\-N\-C algorithm. Namely, there are three such control loops used\-:
27 | \begin{DoxyItemize}
28 | \item For the pitch force, Fpitch
29 | \item For the yaw force, Fyaw
30 | \item For the roll moment, Mroll
31 | \end{DoxyItemize}
32 |
33 | The combination of these three control loops stabilizes the rocket to point vertically up at all time
34 |
35 | The documentation for this struct was generated from the following file\-:\begin{DoxyCompactItemize}
36 | \item
37 | \hyperlink{control__header_8h}{control\-\_\-header.\-h}\end{DoxyCompactItemize}
38 |
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_b.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['m',['M',['../master_8c.html#a5e78dbd5fd0fc01ba7b98dd15e27221e',1,'M(): master.c'],['../master__header_8h.html#a5e78dbd5fd0fc01ba7b98dd15e27221e',1,'M(): master.c'],['../simplex__header_8h.html#a5e78dbd5fd0fc01ba7b98dd15e27221e',1,'M(): simplex_header.h']]],
4 | ['m1',['M1',['../master_8c.html#a7a2aaeb8c0218468f3775cedc6d0087c',1,'M1(): master.c'],['../master__header_8h.html#a7a2aaeb8c0218468f3775cedc6d0087c',1,'M1(): master.c'],['../simplex__header_8h.html#a7a2aaeb8c0218468f3775cedc6d0087c',1,'M1(): simplex_header.h']]],
5 | ['m2',['M2',['../master_8c.html#a4ae62474468edbb5f37cd79ee5e7ca90',1,'M2(): master.c'],['../master__header_8h.html#a4ae62474468edbb5f37cd79ee5e7ca90',1,'M2(): master.c'],['../simplex__header_8h.html#a4ae62474468edbb5f37cd79ee5e7ca90',1,'M2(): simplex_header.h']]],
6 | ['m3',['M3',['../master_8c.html#a1b0d06f043612b284f80743aa186de4c',1,'M3(): master.c'],['../master__header_8h.html#a1b0d06f043612b284f80743aa186de4c',1,'M3(): master.c'],['../simplex__header_8h.html#a1b0d06f043612b284f80743aa186de4c',1,'M3(): simplex_header.h']]],
7 | ['matrix',['matrix',['../structMATRIX.html#a1b56eebd963b3128d1ed05eaabb73362',1,'MATRIX']]],
8 | ['max_5fspeed',['max_speed',['../structSPI__data.html#a5a97f7a0be149b0eea43de02bb9f5538',1,'SPI_data']]],
9 | ['mem_5ffd',['mem_fd',['../structbcm2835__peripheral.html#a141406ce70084a329a865ac2e73db2f3',1,'bcm2835_peripheral']]],
10 | ['message',['MESSAGE',['../master__header_8h.html#ab7c4a9735befe31f101e920cf2d922a8',1,'master_header.h']]],
11 | ['mode',['mode',['../structSPI__data.html#aaf787f81751e9d18950132ae7d9a8da4',1,'SPI_data']]],
12 | ['mroll',['Mroll',['../master_8c.html#a3c7bd12558dd2888ffe85eadeac62fc3',1,'Mroll(): master.c'],['../master__header_8h.html#a3c7bd12558dd2888ffe85eadeac62fc3',1,'Mroll(): master.c']]],
13 | ['mroll_5floop',['Mroll_loop',['../control__header_8h.html#a346020f5a56f6d206c59ae0ec9775147',1,'control_header.h']]],
14 | ['msp430_5freply_5fstring',['MSP430_reply_string',['../msp430__header_8h.html#a55d9f50393b8e5b054b4127c31571eae',1,'msp430_header.h']]],
15 | ['msp430_5frx',['MSP430_RX',['../msp430__header_8h.html#a274f232ce8ccc298f8111502afb9d894',1,'msp430_header.h']]],
16 | ['msp430_5fuart',['MSP430_UART',['../msp430__header_8h.html#a83f9f6fae14487dbe1bdb754919b91fa',1,'msp430_header.h']]]
17 | ];
18 |
--------------------------------------------------------------------------------
/simplex_header.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file simplex_header.h
3 | * @author Simplex header file
4 | * @version 1.0
5 | *
6 | * @brief Simplex header file.
7 | *
8 | * This is the header to simplex_funcs.c containing necessary definitions and
9 | * initializations. This header supports, but was not provided with, the code
10 | * kindly provided code by Jean-Pierre Moreau here.
11 | * where the header definitions in this file were directly incorporated into the
12 | * code at the above url.
13 | *
14 | * License from the original cpp file:
15 | * @verbatim
16 | ***************************************************************
17 | * LINEAR PROGRAMMING: THE SIMPLEX METHOD *
18 | *------------------------------------------------------------ *
19 | * ------------------------------------------------------------*
20 | * Reference: "Numerical Recipes By W.H. Press, B. P. Flannery,*
21 | * S.A. Teukolsky and W.T. Vetterling, Cambridge *
22 | * University Press, 1986" [BIBLI 08]. *
23 | * *
24 | * C++ Release 1.0 By J-P Moreau, Paris *
25 | * (www.jpmoreau.fr) *
26 | ***************************************************************
27 | @endverbatim
28 | */
29 |
30 | #ifndef SIMPLEX_HEADER_H_
31 | #define SIMPLEX_HEADER_H_
32 |
33 | #define MMAX 5 ///< Number of rows of the simplex table
34 | #define NMAX 6 ///< Number of columns of the simplex table
35 | #define REAL double ///< Alias for a double
36 |
37 | typedef REAL MAT[MMAX][NMAX]; ///< A [MMAXxNMAX] matrix
38 |
39 | MAT A; ///< Simplex table
40 | int IPOSV[MMAX], IZROV[NMAX];
41 | int i; ///< Index variable for loops
42 | int j; ///< Index variable for loops
43 | int ICASE,N,M,M1,M2,M3;
44 |
45 | /** @cond INCLUDE_WITH_DOXYGEN */
46 | void simplx(MAT a,int m,int n,int m1,int m2,int m3,int *icase,int *izrov, int *iposv);
47 | void simp1(MAT a,int mm,int *ll,int nll,int iabf,int *kp,REAL *bmax);
48 | void simp2(MAT a, int m,int n,int *l2,int nl2,int *ip,int kp,REAL *q1);
49 | void simp3(MAT a,int i1,int k1,int ip,int kp);
50 | void get_simplex_solution(int ICASE, int *IPOSV, MAT A, int M, int N, double *R1, double *R2, double *R3, double *R4);
51 | /** @endcond */
52 |
53 | #endif /* SIMPLEX_HEADER_H_ */
54 |
--------------------------------------------------------------------------------
/Doxygen/html/search/all_0.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['a',['A',['../simplex__header_8h.html#ace63b68fea4070104433c81319d246a6',1,'simplex_header.h']]],
4 | ['a_5fkalman',['A_kalman',['../master__header_8h.html#abcca7bf825357b5d007fa1b74f0c87c6',1,'master_header.h']]],
5 | ['accelx',['accelX',['../imu__header_8h.html#a4a49b14edaec65c91af2f2b8dd7f9d04',1,'imu_header.h']]],
6 | ['accelx_5fbytes',['accelX_bytes',['../imu__header_8h.html#a79d46db4d707ecec4751575aaef70e4d',1,'imu_header.h']]],
7 | ['accelx_5fsave',['accelX_save',['../imu__header_8h.html#a625162b483840e4f16b2a581380ce29b',1,'imu_header.h']]],
8 | ['accely',['accelY',['../imu__header_8h.html#a3f0af2c57d247ac83559105150229763',1,'imu_header.h']]],
9 | ['accely_5fbytes',['accelY_bytes',['../imu__header_8h.html#a84d37036e8aec3942aebbce27eb5eae4',1,'imu_header.h']]],
10 | ['accely_5fsave',['accelY_save',['../imu__header_8h.html#add67e6211c525792ab7e53f233b5c289',1,'imu_header.h']]],
11 | ['accelz',['accelZ',['../imu__header_8h.html#a40fe36c79bef2b788894c4b9730842d2',1,'imu_header.h']]],
12 | ['accelz_5fbytes',['accelZ_bytes',['../imu__header_8h.html#a39be9519070cc41b5f92b4fe4a4ea1fa',1,'imu_header.h']]],
13 | ['accelz_5fsave',['accelZ_save',['../imu__header_8h.html#ab8cd1436e58aa680a9e74b9470b8460e',1,'imu_header.h']]],
14 | ['active_5f_5fcontrol_5ftime',['ACTIVE__CONTROL_TIME',['../master_8c.html#a2ccecb3518df04beb7ad8510fc2eac6a',1,'master.c']]],
15 | ['addr',['addr',['../structbcm2835__peripheral.html#ac33828b1b9863498b33058a4ca2985dc',1,'bcm2835_peripheral']]],
16 | ['addr_5fp',['addr_p',['../structbcm2835__peripheral.html#a972e542acd3ccb0b9a5f73aa75251b57',1,'bcm2835_peripheral']]],
17 | ['axial_5fpressure',['axial_pressure',['../pressure__header_8h.html#aa25e00923e361dffe516ff778c26ed6d',1,'pressure_header.h']]],
18 | ['axial_5fsensor',['AXIAL_SENSOR',['../pressure__funcs_8c.html#a00c0bd0ea7784ee9add4bdfd7e33bb92',1,'AXIAL_SENSOR(): pressure_funcs.c'],['../pressure__header_8h.html#a00c0bd0ea7784ee9add4bdfd7e33bb92',1,'AXIAL_SENSOR(): pressure_funcs.c']]],
19 | ['axial_5fsensor_5ffd',['axial_sensor_fd',['../structSPI__data.html#a071114b977c92258f04ee298aabb0297',1,'SPI_data']]],
20 | ['axial_5fstatus',['axial_status',['../pressure__header_8h.html#a967759071a6092e727c6371c115e90a2',1,'pressure_header.h']]],
21 | ['axial_5ftemperature',['axial_temperature',['../pressure__header_8h.html#ab07aa5a9125cebc7cc3fc96003a11b5a',1,'pressure_header.h']]]
22 | ];
23 |
--------------------------------------------------------------------------------
/Doxygen/html/search/variables_0.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['a',['A',['../simplex__header_8h.html#ace63b68fea4070104433c81319d246a6',1,'simplex_header.h']]],
4 | ['a_5fkalman',['A_kalman',['../master__header_8h.html#abcca7bf825357b5d007fa1b74f0c87c6',1,'master_header.h']]],
5 | ['accelx',['accelX',['../imu__header_8h.html#a4a49b14edaec65c91af2f2b8dd7f9d04',1,'imu_header.h']]],
6 | ['accelx_5fbytes',['accelX_bytes',['../imu__header_8h.html#a79d46db4d707ecec4751575aaef70e4d',1,'imu_header.h']]],
7 | ['accelx_5fsave',['accelX_save',['../imu__header_8h.html#a625162b483840e4f16b2a581380ce29b',1,'imu_header.h']]],
8 | ['accely',['accelY',['../imu__header_8h.html#a3f0af2c57d247ac83559105150229763',1,'imu_header.h']]],
9 | ['accely_5fbytes',['accelY_bytes',['../imu__header_8h.html#a84d37036e8aec3942aebbce27eb5eae4',1,'imu_header.h']]],
10 | ['accely_5fsave',['accelY_save',['../imu__header_8h.html#add67e6211c525792ab7e53f233b5c289',1,'imu_header.h']]],
11 | ['accelz',['accelZ',['../imu__header_8h.html#a40fe36c79bef2b788894c4b9730842d2',1,'imu_header.h']]],
12 | ['accelz_5fbytes',['accelZ_bytes',['../imu__header_8h.html#a39be9519070cc41b5f92b4fe4a4ea1fa',1,'imu_header.h']]],
13 | ['accelz_5fsave',['accelZ_save',['../imu__header_8h.html#ab8cd1436e58aa680a9e74b9470b8460e',1,'imu_header.h']]],
14 | ['active_5f_5fcontrol_5ftime',['ACTIVE__CONTROL_TIME',['../master_8c.html#a2ccecb3518df04beb7ad8510fc2eac6a',1,'master.c']]],
15 | ['addr',['addr',['../structbcm2835__peripheral.html#ac33828b1b9863498b33058a4ca2985dc',1,'bcm2835_peripheral']]],
16 | ['addr_5fp',['addr_p',['../structbcm2835__peripheral.html#a972e542acd3ccb0b9a5f73aa75251b57',1,'bcm2835_peripheral']]],
17 | ['axial_5fpressure',['axial_pressure',['../pressure__header_8h.html#aa25e00923e361dffe516ff778c26ed6d',1,'pressure_header.h']]],
18 | ['axial_5fsensor',['AXIAL_SENSOR',['../pressure__funcs_8c.html#a00c0bd0ea7784ee9add4bdfd7e33bb92',1,'AXIAL_SENSOR(): pressure_funcs.c'],['../pressure__header_8h.html#a00c0bd0ea7784ee9add4bdfd7e33bb92',1,'AXIAL_SENSOR(): pressure_funcs.c']]],
19 | ['axial_5fsensor_5ffd',['axial_sensor_fd',['../structSPI__data.html#a071114b977c92258f04ee298aabb0297',1,'SPI_data']]],
20 | ['axial_5fstatus',['axial_status',['../pressure__header_8h.html#a967759071a6092e727c6371c115e90a2',1,'pressure_header.h']]],
21 | ['axial_5ftemperature',['axial_temperature',['../pressure__header_8h.html#ab07aa5a9125cebc7cc3fc96003a11b5a',1,'pressure_header.h']]]
22 | ];
23 |
--------------------------------------------------------------------------------
/Doxygen/latex/control__header_8h.tex:
--------------------------------------------------------------------------------
1 | \hypertarget{control__header_8h}{\section{control\-\_\-header.\-h File Reference}
2 | \label{control__header_8h}\index{control\-\_\-header.\-h@{control\-\_\-header.\-h}}
3 | }
4 |
5 |
6 | Control header file.
7 |
8 |
9 | \subsection*{Classes}
10 | \begin{DoxyCompactItemize}
11 | \item
12 | struct \hyperlink{structControl__loop}{Control\-\_\-loop}
13 | \end{DoxyCompactItemize}
14 | \subsection*{Variables}
15 | \begin{Indent}{\bf Control loop group}\par
16 | {\em These structures define fully the control of the rocket -\/ i.\-e. the control gains. }\begin{DoxyCompactItemize}
17 | \item
18 | \hypertarget{control__header_8h_a5f9d64e1376655f5e45ccdcd9693d485}{struct \hyperlink{structControl__loop}{Control\-\_\-loop} \hyperlink{control__header_8h_a5f9d64e1376655f5e45ccdcd9693d485}{Fpitch\-\_\-loop}}\label{control__header_8h_a5f9d64e1376655f5e45ccdcd9693d485}
19 |
20 | \begin{DoxyCompactList}\small\item\em Pitch control loop, uses feedback on \hyperlink{imu__header_8h_abbc13db7b16483062094dfad47e30d7f}{theta\-\_\-filt} to tell what pitching corrective force we need. \end{DoxyCompactList}\item
21 | \hypertarget{control__header_8h_ad89b391fe05f2eb23be1db12931f221d}{struct \hyperlink{structControl__loop}{Control\-\_\-loop} \hyperlink{control__header_8h_ad89b391fe05f2eb23be1db12931f221d}{Fyaw\-\_\-loop}}\label{control__header_8h_ad89b391fe05f2eb23be1db12931f221d}
22 |
23 | \begin{DoxyCompactList}\small\item\em Yaw control loop, uses feedback on \hyperlink{imu__header_8h_a667979b6fd335e2c4dc4e796a3ed56be}{psi\-\_\-filt} to tell what yawing corrective force we need. \end{DoxyCompactList}\item
24 | \hypertarget{control__header_8h_a346020f5a56f6d206c59ae0ec9775147}{struct \hyperlink{structControl__loop}{Control\-\_\-loop} \hyperlink{control__header_8h_a346020f5a56f6d206c59ae0ec9775147}{Mroll\-\_\-loop}}\label{control__header_8h_a346020f5a56f6d206c59ae0ec9775147}
25 |
26 | \begin{DoxyCompactList}\small\item\em Roll control loop, uses feedback on \hyperlink{imu__header_8h_af987fceaf6a55676ae7d2b2334dfae21}{phi\-\_\-dot\-\_\-filt} to tell what corrective rolling moment we need. \end{DoxyCompactList}\end{DoxyCompactItemize}
27 | \end{Indent}
28 |
29 |
30 | \subsection{Detailed Description}
31 | Control header file. \begin{DoxyAuthor}{Author}
32 | Danylo Malyuta \href{mailto:danylo.malyuta@gmail.com}{\tt danylo.\-malyuta@gmail.\-com}
33 | \end{DoxyAuthor}
34 | \begin{DoxyVersion}{Version}
35 | 1.\-0
36 | \end{DoxyVersion}
37 | This is the header to \hyperlink{control__funcs_8c}{control\-\_\-funcs.\-c} containing necessary definitions and initializations.
--------------------------------------------------------------------------------
/msp430/Debug/sources.mk:
--------------------------------------------------------------------------------
1 | ################################################################################
2 | # Automatically-generated file. Do not edit!
3 | ################################################################################
4 |
5 | O_SRCS :=
6 | CPP_SRCS :=
7 | K_SRCS :=
8 | LD_SRCS :=
9 | S67_SRCS :=
10 | LDS_SRCS :=
11 | CMD_SRCS :=
12 | EXE_SRCS :=
13 | CXX_SRCS :=
14 | CMD_UPPER_SRCS :=
15 | ELF_SRCS :=
16 | C43_SRCS :=
17 | S55_SRCS :=
18 | LD_UPPER_SRCS :=
19 | C62_SRCS :=
20 | S_UPPER_SRCS :=
21 | A_SRCS :=
22 | SA_SRCS :=
23 | C55_SRCS :=
24 | LDS_UPPER_SRCS :=
25 | C_UPPER_SRCS :=
26 | OUT_SRCS :=
27 | INO_SRCS :=
28 | OBJ_SRCS :=
29 | S62_SRCS :=
30 | LIB_SRCS :=
31 | PDE_SRCS :=
32 | ASM_SRCS :=
33 | ASM_UPPER_SRCS :=
34 | C++_SRCS :=
35 | CLA_SRCS :=
36 | S??_SRCS :=
37 | C_SRCS :=
38 | C67_SRCS :=
39 | S_SRCS :=
40 | S43_SRCS :=
41 | OPT_SRCS :=
42 | C64_SRCS :=
43 | CC_SRCS :=
44 | C??_SRCS :=
45 | S64_SRCS :=
46 | OBJS :=
47 | BIN_OUTPUTS :=
48 | S_DEPS :=
49 | S_UPPER_DEPS :=
50 | S62_DEPS :=
51 | C64_DEPS :=
52 | ASM_DEPS :=
53 | CC_DEPS :=
54 | S55_DEPS :=
55 | C67_DEPS :=
56 | CLA_DEPS :=
57 | C??_DEPS :=
58 | CPP_DEPS :=
59 | S??_DEPS :=
60 | C_DEPS :=
61 | C62_DEPS :=
62 | EXE_OUTPUTS :=
63 | CXX_DEPS :=
64 | C++_DEPS :=
65 | ASM_UPPER_DEPS :=
66 | K_DEPS :=
67 | C43_DEPS :=
68 | INO_DEPS :=
69 | S67_DEPS :=
70 | SA_DEPS :=
71 | S43_DEPS :=
72 | OPT_DEPS :=
73 | PDE_DEPS :=
74 | S64_DEPS :=
75 | C_UPPER_DEPS :=
76 | C55_DEPS :=
77 | CPP_DEPS__QUOTED :=
78 | C67_DEPS__QUOTED :=
79 | INO_DEPS__QUOTED :=
80 | C??_DEPS__QUOTED :=
81 | S_UPPER_DEPS__QUOTED :=
82 | CLA_DEPS__QUOTED :=
83 | ASM_UPPER_DEPS__QUOTED :=
84 | C62_DEPS__QUOTED :=
85 | CXX_DEPS__QUOTED :=
86 | EXE_OUTPUTS__QUOTED :=
87 | S67_DEPS__QUOTED :=
88 | BIN_OUTPUTS__QUOTED :=
89 | C_DEPS__QUOTED :=
90 | C_UPPER_DEPS__QUOTED :=
91 | OPT_DEPS__QUOTED :=
92 | S_DEPS__QUOTED :=
93 | K_DEPS__QUOTED :=
94 | S??_DEPS__QUOTED :=
95 | C64_DEPS__QUOTED :=
96 | C++_DEPS__QUOTED :=
97 | OBJS__QUOTED :=
98 | CC_DEPS__QUOTED :=
99 | S43_DEPS__QUOTED :=
100 | S55_DEPS__QUOTED :=
101 | SA_DEPS__QUOTED :=
102 | C55_DEPS__QUOTED :=
103 | PDE_DEPS__QUOTED :=
104 | C43_DEPS__QUOTED :=
105 | S62_DEPS__QUOTED :=
106 | ASM_DEPS__QUOTED :=
107 | S64_DEPS__QUOTED :=
108 |
109 | # Every subdirectory with source files must be described here
110 | SUBDIRS := \
111 | . \
112 |
113 |
--------------------------------------------------------------------------------
/spycam_funcs.c:
--------------------------------------------------------------------------------
1 | /**
2 | * @file spycam_funcs.c
3 | * @author Danylo Malyuta
4 | * @version 1.0
5 | *
6 | * @brief Raspberry Pi spy camera functions file.
7 | *
8 | * This file contains functions to start and stop camera recording with particular
9 | * settings. The code is taken directly from the very kindly provided code by
10 | * ceptimus here.
11 | *
12 | * No license file nor text was provided with this source code, so none is included
13 | * here.
14 | */
15 |
16 | # include
17 | # include
18 | # include
19 | # include
20 | # include
21 | # include "spycam_header.h"
22 |
23 | pid_t pid=0;
24 |
25 | /**
26 | * @fn void startVideo(char *filename, char *options)
27 | * This function starts the Raspberry Pi camera recording with specific recording
28 | * options *options stored at the adress pointed to by options. If you want to enable
29 | * preview/monitoring then make the obvious change to remove the -n (no preview) option
30 | * from the source code of this function.
31 | *
32 | * @param filename A string specifying the name of the resulting video file (must have .h264 ending).
33 | * @param options Normal raspivid options. Avoid -t, -n, -o, and -s as the code fills those in for you.
34 | */
35 | void startVideo(char *filename, char *options) {
36 | /* Description:
37 | *
38 | */
39 | if ((pid = fork()) == 0) {
40 | char **cmd;
41 |
42 | // count tokens in options string
43 | int count = 0;
44 | char *copy;
45 | copy = strdup(options);
46 | if (strtok(copy, " \t") != NULL) {
47 | count = 1;
48 | while (strtok(NULL, " \t") != NULL)
49 | count++;
50 | }
51 |
52 | cmd = malloc((count + 8) * sizeof(char **));
53 | free(copy);
54 |
55 | // if any tokens in options,
56 | // copy them to cmd starting at positon[1]
57 | if (count) {
58 | int kk;
59 | copy = strdup(options);
60 | cmd[1] = strtok(copy, " \t");
61 | for (kk = 2; kk <= count; kk++)
62 | cmd[kk] = strtok(NULL, " \t");
63 | }
64 |
65 | // add default options
66 | cmd[0] = "raspivid"; // executable name
67 | cmd[count + 1] = "-n"; // no preview
68 | cmd[count + 2] = "-t"; // default time (overridden by -s)
69 | // but needed for clean exit
70 | cmd[count + 3] = "10"; // 10 millisecond (minimum) time for -t
71 | cmd[count + 4] = "-s"; // enable USR1 signal to stop recording
72 | cmd[count + 5] = "-o"; // output file specifer
73 | cmd[count + 6] = filename;
74 | cmd[count + 7] = (char *)0; // terminator
75 | execv("/usr/bin/raspivid", cmd);
76 | }
77 | }
78 |
79 | /**
80 | * @fn void stopVideo(void)
81 | * This functions stops the camera recording process.
82 | */
83 | void stopVideo(void) {
84 | if (pid) {
85 | kill(pid, 10); // seems to stop with two signals separated
86 | // by 1 second if started with -t 10 parameter
87 | sleep(1);
88 | kill(pid, 10);
89 | }
90 | }
91 |
--------------------------------------------------------------------------------
/Doxygen/latex/files.tex:
--------------------------------------------------------------------------------
1 | \section{File List}
2 | Here is a list of all documented files with brief descriptions\-:\begin{DoxyCompactList}
3 | \item\contentsline{section}{\hyperlink{control__funcs_8c}{control\-\_\-funcs.\-c} \\*Control functions source file }{\pageref{control__funcs_8c}}{}
4 | \item\contentsline{section}{\hyperlink{control__header_8h}{control\-\_\-header.\-h} \\*Control header file }{\pageref{control__header_8h}}{}
5 | \item\contentsline{section}{\hyperlink{imu__funcs_8c}{imu\-\_\-funcs.\-c} \\*I\-M\-U functions file (contains I\-M\-U comms, logs and filters) }{\pageref{imu__funcs_8c}}{}
6 | \item\contentsline{section}{\hyperlink{imu__header_8h}{imu\-\_\-header.\-h} \\*I\-M\-U header file }{\pageref{imu__header_8h}}{}
7 | \item\contentsline{section}{\hyperlink{la__funcs_8c}{la\-\_\-funcs.\-c} \\*Lienar Algebra functions source file }{\pageref{la__funcs_8c}}{}
8 | \item\contentsline{section}{\hyperlink{la__header_8h}{la\-\_\-header.\-h} \\*Linear Algebra header file }{\pageref{la__header_8h}}{}
9 | \item\contentsline{section}{\hyperlink{master_8c}{master.\-c} \\*Master G\-N\-C source file (main function file) }{\pageref{master_8c}}{}
10 | \item\contentsline{section}{\hyperlink{master__funcs_8c}{master\-\_\-funcs.\-c} \\*Master functions file }{\pageref{master__funcs_8c}}{}
11 | \item\contentsline{section}{\hyperlink{master__header_8h}{master\-\_\-header.\-h} \\*Master header file }{\pageref{master__header_8h}}{}
12 | \item\contentsline{section}{\hyperlink{msp430__funcs_8c}{msp430\-\_\-funcs.\-c} \\*M\-S\-P430 functions file }{\pageref{msp430__funcs_8c}}{}
13 | \item\contentsline{section}{\hyperlink{msp430__header_8h}{msp430\-\_\-header.\-h} \\*M\-S\-P430 header file }{\pageref{msp430__header_8h}}{}
14 | \item\contentsline{section}{\hyperlink{pressure__funcs_8c}{pressure\-\_\-funcs.\-c} \\*Honeywell pressure/temperature sensors functions file }{\pageref{pressure__funcs_8c}}{}
15 | \item\contentsline{section}{\hyperlink{pressure__header_8h}{pressure\-\_\-header.\-h} \\*Honeywell pressure/temperature sensors header file }{\pageref{pressure__header_8h}}{}
16 | \item\contentsline{section}{\hyperlink{rpi__gpio__funcs_8c}{rpi\-\_\-gpio\-\_\-funcs.\-c} \\*G\-P\-I\-O functions file }{\pageref{rpi__gpio__funcs_8c}}{}
17 | \item\contentsline{section}{\hyperlink{rpi__gpio__header_8h}{rpi\-\_\-gpio\-\_\-header.\-h} \\*M\-S\-P430 header file }{\pageref{rpi__gpio__header_8h}}{}
18 | \item\contentsline{section}{\hyperlink{simplex__funcs_8c}{simplex\-\_\-funcs.\-c} \\*Simplex functions file }{\pageref{simplex__funcs_8c}}{}
19 | \item\contentsline{section}{\hyperlink{simplex__header_8h}{simplex\-\_\-header.\-h} \\*Simplex header file }{\pageref{simplex__header_8h}}{}
20 | \item\contentsline{section}{\hyperlink{spycam__funcs_8c}{spycam\-\_\-funcs.\-c} \\*Raspberry Pi spy camera functions file }{\pageref{spycam__funcs_8c}}{}
21 | \item\contentsline{section}{\hyperlink{spycam__header_8h}{spycam\-\_\-header.\-h} \\*Raspberry Pi spy camera header file }{\pageref{spycam__header_8h}}{}
22 | \end{DoxyCompactList}
23 |
--------------------------------------------------------------------------------