Skip to content
Snippets Groups Projects
README.md 1.54 KiB
Newer Older
bbartels's avatar
bbartels committed

bbartels's avatar
bbartels committed
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
bbartels's avatar
bbartels committed
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)
bbartels's avatar
bbartels committed
```

The main XSDK project that actually runs on the Zybo is located at:
```
xsdk_workspace/real_quad/
```

We also have a complemetary "virtual quad" to ease testing:
```
src/virt_quad/
bbartels's avatar
bbartels committed
```

bbartels's avatar
bbartels committed

To build the libraries:
```
make
bbartels's avatar
bbartels committed
```

You can also build each library individually inside their respective project
directories:
```
cd src/<project> && make
```

bbartels's avatar
bbartels committed
To build the XSDK project, use the XSDK IDE. Source the proper XSDK files, and
then start up the XSDK IDE. Be sure to select the `xsdk_workspace` directory
in the quad directory as your "workspace":
```
source /opt/Xilinx/14.7/ISE_DS/settings64.sh
xsdk &
```

bbartels's avatar
bbartels committed
## Testing

_Write tests! It makes automating things so much easier._
bbartels's avatar
bbartels committed

Run the unit and functional tests:
bbartels's avatar
bbartels committed
```
make test
```

You can also run the test for a specific library inside its respective project
bbartels's avatar
bbartels committed
directory:
```
cd src/<project> && make test
```

bbartels's avatar
bbartels committed
### Manually testing the hardware interface

Of course, we cannot run our automated tests on code that needs the Zybo. But
bbartels's avatar
bbartels committed
we have manual tests that you can use to test each specific driver in the 
hardware interface.
bbartels's avatar
bbartels committed

Look in `xsdk_workspace/real_quad/src/hw_impl_zybo_tests.c` for instructions.
bbartels's avatar
bbartels committed
Ideally, you would run these tests from the XSDK IDE.