diff --git a/quad/README.md b/quad/README.md new file mode 100644 index 0000000000000000000000000000000000000000..8f857b03bcd9bba8e4e76f3617313d0ad7dd2b2d --- /dev/null +++ b/quad/README.md @@ -0,0 +1,66 @@ +# Quadcopter + +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/quad_app.c +``` + +The main XSDK project that actually runs on the Zybo is located at: +``` +xsdk_workspace/modular_quad_pid/main.c +``` + +## Building + +### Libraries + +To build the libraries: +``` +make libs +``` + +You can also build each library individually inside their respective project +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 + +### Libraries + +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 +``` + +You can also run the test for specific library inside its respective project +directory: +``` +cd src/<project> && make test +``` + +### XSDK Project + +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.