From 81593831fc9eea0cd9ee860a911b5de83db65d2e Mon Sep 17 00:00:00 2001
From: Brendan Bartels <bbartels@iastate.edu>
Date: Mon, 20 Mar 2017 09:40:09 -0500
Subject: [PATCH] quad: Add README

---
 quad/README.md | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 66 insertions(+)
 create mode 100644 quad/README.md

diff --git a/quad/README.md b/quad/README.md
new file mode 100644
index 000000000..8f857b03b
--- /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.
-- 
GitLab