diff --git a/quad/README.md b/quad/README.md index badf5416e72c6f672d9b8d80796de6f6d8171383..8f857b03bcd9bba8e4e76f3617313d0ad7dd2b2d 100644 --- a/quad/README.md +++ b/quad/README.md @@ -1,25 +1,22 @@ -# 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. diff --git a/quad/xsdk_workspace/real_quad/.cproject b/quad/xsdk_workspace/modular_quad_pid/.cproject similarity index 100% rename from quad/xsdk_workspace/real_quad/.cproject rename to quad/xsdk_workspace/modular_quad_pid/.cproject diff --git a/quad/xsdk_workspace/real_quad/.gitignore b/quad/xsdk_workspace/modular_quad_pid/.gitignore similarity index 100% rename from quad/xsdk_workspace/real_quad/.gitignore rename to quad/xsdk_workspace/modular_quad_pid/.gitignore diff --git a/quad/xsdk_workspace/real_quad/.project b/quad/xsdk_workspace/modular_quad_pid/.project similarity index 100% rename from quad/xsdk_workspace/real_quad/.project rename to quad/xsdk_workspace/modular_quad_pid/.project diff --git a/quad/xsdk_workspace/real_quad/Debug/ext/commands/subdir.mk b/quad/xsdk_workspace/modular_quad_pid/Debug/ext/commands/subdir.mk similarity index 100% rename from quad/xsdk_workspace/real_quad/Debug/ext/commands/subdir.mk rename to quad/xsdk_workspace/modular_quad_pid/Debug/ext/commands/subdir.mk diff --git a/quad/xsdk_workspace/real_quad/Debug/ext/computation_graph/subdir.mk b/quad/xsdk_workspace/modular_quad_pid/Debug/ext/computation_graph/subdir.mk similarity index 100% rename from quad/xsdk_workspace/real_quad/Debug/ext/computation_graph/subdir.mk rename to quad/xsdk_workspace/modular_quad_pid/Debug/ext/computation_graph/subdir.mk diff --git a/quad/xsdk_workspace/real_quad/Debug/ext/graph_blocks/subdir.mk b/quad/xsdk_workspace/modular_quad_pid/Debug/ext/graph_blocks/subdir.mk similarity index 100% rename from quad/xsdk_workspace/real_quad/Debug/ext/graph_blocks/subdir.mk rename to quad/xsdk_workspace/modular_quad_pid/Debug/ext/graph_blocks/subdir.mk diff --git a/quad/xsdk_workspace/real_quad/Debug/ext/quad_app/subdir.mk b/quad/xsdk_workspace/modular_quad_pid/Debug/ext/quad_app/subdir.mk similarity index 100% rename from quad/xsdk_workspace/real_quad/Debug/ext/quad_app/subdir.mk rename to quad/xsdk_workspace/modular_quad_pid/Debug/ext/quad_app/subdir.mk diff --git a/quad/xsdk_workspace/real_quad/Debug/ext/queue/subdir.mk b/quad/xsdk_workspace/modular_quad_pid/Debug/ext/queue/subdir.mk similarity index 100% rename from quad/xsdk_workspace/real_quad/Debug/ext/queue/subdir.mk rename to quad/xsdk_workspace/modular_quad_pid/Debug/ext/queue/subdir.mk diff --git a/quad/xsdk_workspace/real_quad/Debug/makefile b/quad/xsdk_workspace/modular_quad_pid/Debug/makefile similarity index 100% rename from quad/xsdk_workspace/real_quad/Debug/makefile rename to quad/xsdk_workspace/modular_quad_pid/Debug/makefile diff --git a/quad/xsdk_workspace/real_quad/Debug/objects.mk b/quad/xsdk_workspace/modular_quad_pid/Debug/objects.mk similarity index 100% rename from quad/xsdk_workspace/real_quad/Debug/objects.mk rename to quad/xsdk_workspace/modular_quad_pid/Debug/objects.mk diff --git a/quad/xsdk_workspace/real_quad/Debug/sources.mk b/quad/xsdk_workspace/modular_quad_pid/Debug/sources.mk similarity index 100% rename from quad/xsdk_workspace/real_quad/Debug/sources.mk rename to quad/xsdk_workspace/modular_quad_pid/Debug/sources.mk diff --git a/quad/xsdk_workspace/real_quad/Debug/src/subdir.mk b/quad/xsdk_workspace/modular_quad_pid/Debug/src/subdir.mk similarity index 100% rename from quad/xsdk_workspace/real_quad/Debug/src/subdir.mk rename to quad/xsdk_workspace/modular_quad_pid/Debug/src/subdir.mk diff --git a/quad/xsdk_workspace/real_quad/Release/ext/commands/subdir.mk b/quad/xsdk_workspace/modular_quad_pid/Release/ext/commands/subdir.mk similarity index 100% rename from quad/xsdk_workspace/real_quad/Release/ext/commands/subdir.mk rename to quad/xsdk_workspace/modular_quad_pid/Release/ext/commands/subdir.mk diff --git a/quad/xsdk_workspace/real_quad/Release/ext/computation_graph/subdir.mk b/quad/xsdk_workspace/modular_quad_pid/Release/ext/computation_graph/subdir.mk similarity index 100% rename from quad/xsdk_workspace/real_quad/Release/ext/computation_graph/subdir.mk rename to quad/xsdk_workspace/modular_quad_pid/Release/ext/computation_graph/subdir.mk diff --git a/quad/xsdk_workspace/real_quad/Release/ext/graph_blocks/subdir.mk b/quad/xsdk_workspace/modular_quad_pid/Release/ext/graph_blocks/subdir.mk similarity index 100% rename from quad/xsdk_workspace/real_quad/Release/ext/graph_blocks/subdir.mk rename to quad/xsdk_workspace/modular_quad_pid/Release/ext/graph_blocks/subdir.mk diff --git a/quad/xsdk_workspace/real_quad/Release/ext/quad_app/subdir.mk b/quad/xsdk_workspace/modular_quad_pid/Release/ext/quad_app/subdir.mk similarity index 100% rename from quad/xsdk_workspace/real_quad/Release/ext/quad_app/subdir.mk rename to quad/xsdk_workspace/modular_quad_pid/Release/ext/quad_app/subdir.mk diff --git a/quad/xsdk_workspace/real_quad/Release/ext/queue/subdir.mk b/quad/xsdk_workspace/modular_quad_pid/Release/ext/queue/subdir.mk similarity index 100% rename from quad/xsdk_workspace/real_quad/Release/ext/queue/subdir.mk rename to quad/xsdk_workspace/modular_quad_pid/Release/ext/queue/subdir.mk diff --git a/quad/xsdk_workspace/real_quad/Release/makefile b/quad/xsdk_workspace/modular_quad_pid/Release/makefile similarity index 100% rename from quad/xsdk_workspace/real_quad/Release/makefile rename to quad/xsdk_workspace/modular_quad_pid/Release/makefile diff --git a/quad/xsdk_workspace/real_quad/Release/objects.mk b/quad/xsdk_workspace/modular_quad_pid/Release/objects.mk similarity index 100% rename from quad/xsdk_workspace/real_quad/Release/objects.mk rename to quad/xsdk_workspace/modular_quad_pid/Release/objects.mk diff --git a/quad/xsdk_workspace/real_quad/Release/sources.mk b/quad/xsdk_workspace/modular_quad_pid/Release/sources.mk similarity index 100% rename from quad/xsdk_workspace/real_quad/Release/sources.mk rename to quad/xsdk_workspace/modular_quad_pid/Release/sources.mk diff --git a/quad/xsdk_workspace/real_quad/Release/src/subdir.mk b/quad/xsdk_workspace/modular_quad_pid/Release/src/subdir.mk similarity index 100% rename from quad/xsdk_workspace/real_quad/Release/src/subdir.mk rename to quad/xsdk_workspace/modular_quad_pid/Release/src/subdir.mk diff --git a/quad/xsdk_workspace/real_quad/ext/__CAUTION__.md b/quad/xsdk_workspace/modular_quad_pid/ext/__CAUTION__.md similarity index 100% rename from quad/xsdk_workspace/real_quad/ext/__CAUTION__.md rename to quad/xsdk_workspace/modular_quad_pid/ext/__CAUTION__.md diff --git a/quad/xsdk_workspace/real_quad/src/hw_impl_zybo.c b/quad/xsdk_workspace/modular_quad_pid/src/hw_impl_zybo.c similarity index 100% rename from quad/xsdk_workspace/real_quad/src/hw_impl_zybo.c rename to quad/xsdk_workspace/modular_quad_pid/src/hw_impl_zybo.c diff --git a/quad/xsdk_workspace/real_quad/src/hw_impl_zybo.h b/quad/xsdk_workspace/modular_quad_pid/src/hw_impl_zybo.h similarity index 100% rename from quad/xsdk_workspace/real_quad/src/hw_impl_zybo.h rename to quad/xsdk_workspace/modular_quad_pid/src/hw_impl_zybo.h diff --git a/quad/xsdk_workspace/real_quad/src/hw_impl_zybo_axi_timer.c b/quad/xsdk_workspace/modular_quad_pid/src/hw_impl_zybo_axi_timer.c similarity index 100% rename from quad/xsdk_workspace/real_quad/src/hw_impl_zybo_axi_timer.c rename to quad/xsdk_workspace/modular_quad_pid/src/hw_impl_zybo_axi_timer.c diff --git a/quad/xsdk_workspace/real_quad/src/hw_impl_zybo_global_timer.c b/quad/xsdk_workspace/modular_quad_pid/src/hw_impl_zybo_global_timer.c similarity index 100% rename from quad/xsdk_workspace/real_quad/src/hw_impl_zybo_global_timer.c rename to quad/xsdk_workspace/modular_quad_pid/src/hw_impl_zybo_global_timer.c diff --git a/quad/xsdk_workspace/real_quad/src/hw_impl_zybo_i2c.c b/quad/xsdk_workspace/modular_quad_pid/src/hw_impl_zybo_i2c.c similarity index 100% rename from quad/xsdk_workspace/real_quad/src/hw_impl_zybo_i2c.c rename to quad/xsdk_workspace/modular_quad_pid/src/hw_impl_zybo_i2c.c diff --git a/quad/xsdk_workspace/real_quad/src/hw_impl_zybo_mio7_led.c b/quad/xsdk_workspace/modular_quad_pid/src/hw_impl_zybo_mio7_led.c similarity index 100% rename from quad/xsdk_workspace/real_quad/src/hw_impl_zybo_mio7_led.c rename to quad/xsdk_workspace/modular_quad_pid/src/hw_impl_zybo_mio7_led.c diff --git a/quad/xsdk_workspace/real_quad/src/hw_impl_zybo_pwm_input.c b/quad/xsdk_workspace/modular_quad_pid/src/hw_impl_zybo_pwm_input.c similarity index 100% rename from quad/xsdk_workspace/real_quad/src/hw_impl_zybo_pwm_input.c rename to quad/xsdk_workspace/modular_quad_pid/src/hw_impl_zybo_pwm_input.c diff --git a/quad/xsdk_workspace/real_quad/src/hw_impl_zybo_pwm_output.c b/quad/xsdk_workspace/modular_quad_pid/src/hw_impl_zybo_pwm_output.c similarity index 100% rename from quad/xsdk_workspace/real_quad/src/hw_impl_zybo_pwm_output.c rename to quad/xsdk_workspace/modular_quad_pid/src/hw_impl_zybo_pwm_output.c diff --git a/quad/xsdk_workspace/real_quad/src/hw_impl_zybo_system.c b/quad/xsdk_workspace/modular_quad_pid/src/hw_impl_zybo_system.c similarity index 100% rename from quad/xsdk_workspace/real_quad/src/hw_impl_zybo_system.c rename to quad/xsdk_workspace/modular_quad_pid/src/hw_impl_zybo_system.c diff --git a/quad/xsdk_workspace/real_quad/src/hw_impl_zybo_tests.c b/quad/xsdk_workspace/modular_quad_pid/src/hw_impl_zybo_tests.c similarity index 100% rename from quad/xsdk_workspace/real_quad/src/hw_impl_zybo_tests.c rename to quad/xsdk_workspace/modular_quad_pid/src/hw_impl_zybo_tests.c diff --git a/quad/xsdk_workspace/real_quad/src/hw_impl_zybo_uart.c b/quad/xsdk_workspace/modular_quad_pid/src/hw_impl_zybo_uart.c similarity index 100% rename from quad/xsdk_workspace/real_quad/src/hw_impl_zybo_uart.c rename to quad/xsdk_workspace/modular_quad_pid/src/hw_impl_zybo_uart.c diff --git a/quad/xsdk_workspace/real_quad/src/lscript.ld b/quad/xsdk_workspace/modular_quad_pid/src/lscript.ld similarity index 100% rename from quad/xsdk_workspace/real_quad/src/lscript.ld rename to quad/xsdk_workspace/modular_quad_pid/src/lscript.ld diff --git a/quad/xsdk_workspace/real_quad/src/main.c b/quad/xsdk_workspace/modular_quad_pid/src/main.c similarity index 100% rename from quad/xsdk_workspace/real_quad/src/main.c rename to quad/xsdk_workspace/modular_quad_pid/src/main.c diff --git a/quad/xsdk_workspace/real_quad/src/platform.c b/quad/xsdk_workspace/modular_quad_pid/src/platform.c similarity index 100% rename from quad/xsdk_workspace/real_quad/src/platform.c rename to quad/xsdk_workspace/modular_quad_pid/src/platform.c diff --git a/quad/xsdk_workspace/real_quad/src/platform.h b/quad/xsdk_workspace/modular_quad_pid/src/platform.h similarity index 100% rename from quad/xsdk_workspace/real_quad/src/platform.h rename to quad/xsdk_workspace/modular_quad_pid/src/platform.h diff --git a/quad/xsdk_workspace/real_quad/src/platform_config.h b/quad/xsdk_workspace/modular_quad_pid/src/platform_config.h similarity index 100% rename from quad/xsdk_workspace/real_quad/src/platform_config.h rename to quad/xsdk_workspace/modular_quad_pid/src/platform_config.h diff --git a/quad/xsdk_workspace/real_quad/test/.gitignore b/quad/xsdk_workspace/modular_quad_pid/test/.gitignore similarity index 100% rename from quad/xsdk_workspace/real_quad/test/.gitignore rename to quad/xsdk_workspace/modular_quad_pid/test/.gitignore diff --git a/quad/xsdk_workspace/real_quad/test/Makefile b/quad/xsdk_workspace/modular_quad_pid/test/Makefile similarity index 100% rename from quad/xsdk_workspace/real_quad/test/Makefile rename to quad/xsdk_workspace/modular_quad_pid/test/Makefile diff --git a/quad/xsdk_workspace/real_quad/test/test_uart_buff.c b/quad/xsdk_workspace/modular_quad_pid/test/test_uart_buff.c similarity index 100% rename from quad/xsdk_workspace/real_quad/test/test_uart_buff.c rename to quad/xsdk_workspace/modular_quad_pid/test/test_uart_buff.c diff --git a/quad/xsdk_workspace/real_quad/test/xil_types.h b/quad/xsdk_workspace/modular_quad_pid/test/xil_types.h similarity index 100% rename from quad/xsdk_workspace/real_quad/test/xil_types.h rename to quad/xsdk_workspace/modular_quad_pid/test/xil_types.h