Skip to content
Snippets Groups Projects
Commit 0f1b60a9 authored by bbartels's avatar bbartels
Browse files

Revert "quad: change "modular_quad_pid" to "real_quad""

This reverts commit 4f5322d0
parent 4f5322d0
No related branches found
No related tags found
No related merge requests found
Showing
with 28 additions and 21 deletions
# Quadcopter Section
# Quadcopter
This `quad/` directory contains all code that programs the quadcopter,
including any C libraries we have written, any HDL to program the Zybo on
The quad/ directory contains all code that programs the quadcopter. This
includes any C libraries we have written, any HDL to program the Zybo on
the quad, and the XSDK main project that runs on the Zybo.
The main quad application is written as a library, and located at:
```
src/quad_app (main function in quad_app.c)
src/quad_app/quad_app.c
```
The main XSDK project that actually runs on the Zybo is located at:
```
xsdk_workspace/real_quad
xsdk_workspace/modular_quad_pid/main.c
```
If you were wondering, we do have the complementary virtual quad easy testing:
```
src/virt_quad
```
## Building
## Building our Libraries
### Libraries
To build the libraries:
```
......@@ -32,21 +29,31 @@ directories:
cd src/<project> && make
```
### XSDK Project
To build the XSDK project that runs on the Zybo (only works on co3050):
```
make zybo
```
To build the Zybo boot image for the SD card (only works on co3050):
```
make boot
```
Disclaimer: The make boot target currently does not work
## Testing
We have split our code into 2 main sections: application code and hardware code.
We did that so that we can write tests that run automatically on CI. You just
can't run automatic tests on hardware code because the environments won't match.
### Libraries
All CI tests are run using the following target:
We try to write unit tests for the libraries we've written, since they are
not tied to the Zybo platform and are able to be run in our CI environment.
```
make test
```
This incorporates unit tests (`src/<library>/test`), as well as a few functional
test scripts (`scripts/tests`) that verify things on the virtual quad.
You can also run the tests for a specific library inside its respective project
You can also run the test for specific library inside its respective project
directory:
```
cd src/<project> && make test
......@@ -54,6 +61,6 @@ cd src/<project> && make test
### XSDK Project
We have tests for the hardware-level code, they just have to be run manually.
You can find these tests along with instructions at
`xsdk_workspace/read_quad/src/hw_impl_zybo_tests.c`
The XSDK project implements the hardware interfaces used in the quad app.
There are tests can be executed from the main function in that XSDK project.
These tests essentially test each hardware interface.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment